mount --bind und chmod

Seite 1 von 2 - Forum: Linux and other OS auf overclockers.at

URL: https://www.overclockers.at/linux/mount_bind_und_chmod_179801/page_1 - zur Vollversion wechseln!


schizo schrieb am 04.05.2007 um 14:26

Hallo!
Ich hab einen ftp rennen, bei dem mehrere User unterschiedliche Home directorys haben sollen, in denen sie teilweise auf die selben directorys zugreifen können, doch mit unterschiedlichen rechten.
Deswegen weise ich den Usern durch eine Datei, welche das directory mapping mittels mount --bind realisiert, zu.
Soweit, so gut. Ich habe nun die gewünschten Verzeichnisse bei den Usern. Allerdings sollen diese ja unterschiedliche rechte haben.
Nun kommt auch mein Problem:
schreibe ich die chmod Befehle in die selbe Datei passiert genau nichts, gebe ich den Befehl 1:1 in die Console ein werden die Rechte übernommen.

Hat irgendjemand eine Idee, worans liegen könnte, bzw weiß jemand, wie ich das Problem umgehen kann?
mfg


Marcellus schrieb am 05.05.2007 um 13:15

Wenn du unterschiedliche Rechte vergeben willst solltest zu dir die zugriffsrechte etwas genauer anschauen, du hast "owner""group""else" und kannst damit nach belieben zugriffsrechte verteilen.

ich versteh alerdings nicht, wieso du mount --bind verwendest, wenns ein softlink genauso tut. Und ja wenn du dem zielverzeichnis andere zugriffsrechte gibst werden die übernommen, das hat beim softlink allerdings eh keinen sinn, weil es ziemlich sinnfrei wäre über einen softlink auf ein verzeichnis mehr zugriffsrechte zu haben als ohne. -> sicherheitslücke -> softlinks haben keine zugriffsrechte

bin mir nicht sicher wie das beim bind ist sollte aber ähnlich sein


COLOSSUS schrieb am 05.05.2007 um 13:23

Ich muss gestehen, ich verstehe weder den ersten, noch den zweiten Post in diesem Thread :D

Willst du dein Anliegen vielleicht nochmals alternativ formulieren, Schizo?


schizo schrieb am 05.05.2007 um 13:24

Also, um auszuholen:
Ich hab nen ftp rennen, in dem user in nem chroot jail stecken. Darum kann ich keine Softlinks verwenden, sondern muss eben mount --bind verwenden.
Damit ich die Befehle nach dem Booten nicht neu eingeben muss hab ich mir ein file geschrieben, in welchem die ganzen Befehle automatisch abgearbeitet werden
(umount -zum reinigen, bzw synchronisieren da ich mehrere instanzen rennen hab, mount, und dann eben noch chroot)

Das Problem ist:
chroot -R 777 /dir - in der console funktioniert
chroot -R 777 /dir - in dem file geht nicht, diverse Befehle, die davor drin stehen werden aber abgearbeitet


Marcellus schrieb am 05.05.2007 um 18:52

Meinst du vielleicht chmod?


gue schrieb am 05.05.2007 um 20:38

Zitat von schizo
Damit ich die Befehle nach dem Booten nicht neu eingeben muss hab ich mir ein file geschrieben, in welchem die ganzen Befehle automatisch abgearbeitet werden
(umount -zum reinigen, bzw synchronisieren da ich mehrere instanzen rennen hab, mount, und dann eben noch chroot)
man fstab ? :D


schizo schrieb am 06.05.2007 um 02:30

Zitat von Marcellus
Meinst du vielleicht chmod?

ja... hab mich vorhin anscheinend verschrieben

chmod, chroot würd ja keinen Sinn ergeben

Zitat von gue
man fstab ? :D

mount --bind wird von fstab nicht unterstützt, und gleich nach dem booten kann ich die Rechte nicht vergeben, da es sich um loop-devices handelt.


gue schrieb am 06.05.2007 um 10:10

Zitat von schizo
mount --bind wird von fstab nicht unterstützt, und gleich nach dem booten kann ich die Rechte nicht vergeben, da es sich um loop-devices handelt.
man fstab?

Auszug aus meiner fstab:
Code:
/mnt/sda5	/home/gue/Home	auto	rw,bind,exec,auto,user	0	0


Marcellus schrieb am 06.05.2007 um 13:25

auszug aus "man fstab"

Zitat
It is formatted as a comma separated list of options. It contains at
least the type of mount plus any additional options


schizo schrieb am 06.05.2007 um 14:58

Zitat von gue
man fstab?

Auszug aus meiner fstab:
Code:
/mnt/sda5	/home/gue/Home	auto	rw,bind,exec,auto,user	0	0

Ich kann den Befehl nicht in die fstab schreiben, weil sich das directory, dass ich mounten möchte ein Passwortverschlüsseltes loop device ist und ich es daher erst im nachhinnein mounte.

edit: hm... hab bisl crap bzgl. fstab geschrieben. Ändert aber nichts daran, dass ich den Befehl nicht in die fstab schreiben kann (Grund siehe oben).
Es geht mir im übrigen nicht um mount --bind, sondern eher um die Rechtevergabe, die nur übernommen wird, wenn ich sie direkt in die console schreibe, in dem file aber genau nichts bewirkt (root rechte vorhanden)


Marcellus schrieb am 06.05.2007 um 15:18

Wird das file ausgeführt?
Hast du vllt vergessen in der erzen zeile
"#! /bin/bash" hinzuschreiben? Ist das script ausführbar? Hast du irgendwelche aliases in dem script verwendet, die nicht global verfügbar sind?
Wenn du in diesem script mit echo in ein file was rausschreibst ist es dann da?
Was passiert wenn du nach dem booten das file von hand ausführst?

Btw wenn du eine verschlüsselte platte hast und du mountest das ding automatisch bringt dir die verschlüsselung eh nichts, wenn das passwort eh in dem file steht. Du verschwendest damit nur cpu laufzeit.

EDIT:Und dmcrypt mit luks kann man mit cryptsetup mounten, du musst nur das passwort eingeben.

Ich hab auch sowas, um das passwort nicht auf der festplatte zu speichern log ich mich mit ssh ein und führe das script aus:

Code: PHP
#!/bin/sh
/bin/cryptsetup luksOpen /dev/md0 data && mount /home/marcellus

dann geb ich das passwort ein, das device wird gemountet und alle sind glücklich :)


schizo schrieb am 06.05.2007 um 15:31

Zitat von Marcellus
Wird das file ausgeführt?
Ja
Zitat
Hast du vllt vergessen in der erzen zeile
"#! /bin/bash" hinzuschreiben?
Ja, habs geändert, bringt aber nichts. Die Verzeichnisse werden alle gemountet, Rechte aber nicht verteilt.
Zitat
Ist das script ausführbar?
Ja
Zitat
Hast du irgendwelche aliases in dem script verwendet, die nicht global verfügbar sind?
Nein
Zitat
Wenn du in diesem script mit echo in ein file was rausschreibst ist es dann da?
Ja
Zitat
Was passiert wenn du nach dem booten das file von hand ausführst?
Ich hab das script bis jetzt nur von Hand ausgeführt.

Zitat
Btw wenn du eine verschlüsselte platte hast und du mountest das ding automatisch bringt dir die verschlüsselung eh nichts, wenn das passwort eh in dem file steht. Du verschwendest damit nur cpu laufzeit.
Das ist mir bewusst, das PWD steht in keinem file und wird jedes mal per Hand eingegeben.

Zitat
EDIT:Und dmcrypt mit luks kann man mit cryptsetup mounten, du musst nur das passwort eingeben.


Ich hab AES-loop verwendet. Ich muss das PWD jedesmal eingeben, wenn ich ein verschlüsseltes device mounten möchte. Ist zwar etwas Mehraufwand, aber ich mag mir die Arbeit nicht antun, jetzt alle devices mit dmcrypt zu codiern.

Zitat
Ich hab auch sowas, um das passwort nicht auf der festplatte zu speichern log ich mich mit ssh ein und führe das script aus:

Code: PHP
#!/bin/sh
/bin/cryptsetup luksOpen /dev/md0 data && mount /home/marcellus

dann geb ich das passwort ein, das device wird gemountet und alle sind glücklich :)

Ich machs etwas umständlicher:
Ich log mich per ssh ein, speicher das pwd (auf nem Windows Rechner) per strg + c, dann muss ichs auch nur einmal eingeben, lediglich die mountpunkte muss ich ändern.
Ich hoffe, dass dieser Vorgang hier keine allzugroße Sicherheitslücke darstellt.


Marcellus schrieb am 06.05.2007 um 15:53

Zitat von schizo
Ich machs etwas umständlicher:
Ich log mich per ssh ein, speicher das pwd (auf nem Windows Rechner) per strg + c, dann muss ichs auch nur einmal eingeben, lediglich die mountpunkte muss ich ändern.
Ich hoffe, dass dieser Vorgang hier keine allzugroße Sicherheitslücke darstellt.

Windows ssh? Was? ich blick da nicht ganz durch, am einfachsten wirds sein, wenn du einfach das script postest, dann geht die diagnose auch um einiges einfacher. Aber was ich mir vorstellen könnte ist, dass das script nicht im interactive modus ausgeführt wird und das ganze zeug vonwegen passwortabfrage einfach deswegen nicht geht.


schizo schrieb am 06.05.2007 um 16:37

Zitat von Marcellus
Windows ssh? Was? ich blick da nicht ganz durch, am einfachsten wirds sein, wenn du einfach das script postest, dann geht die diagnose auch um einiges einfacher. Aber was ich mir vorstellen könnte ist, dass das script nicht im interactive modus ausgeführt wird und das ganze zeug vonwegen passwortabfrage einfach deswegen nicht geht.

ok, ich glaub, ich hab jetzt alle verwirrt, denn mit loop devices hat das ganze lediglich soviel zu tun, als dass ich diesen später mittels mount --bind einen weiteren mountpoint zuweise.

am besten, ich schildere nochmal mein Problem:

es beschränkt sich darauf, dass ich die Rechte von directorys, welche über mount --bind gemountet werden ändern mag.
Gebe ich chmod -R ugo in der console ein werden die Rechte übernommen
wird der Befehl in ein file geschrieben ändert sich nichts.
Warum ist dies so, wie kann ich das Problem beheben?


Marcellus schrieb am 06.05.2007 um 17:06

und wenn du die befehle 1:1 in die shell eingibst gehen sie? Genauso? Wenn du dich vertippt hast wär das blöd. Du kannst auch probieren das script statt auszuführen zu sourcen. "source file" dann werden die befehle in der aktuellen shell ausgeführt. Ich tipp aber nachwievor auf einen tippfehler oä.

Oder hast du das ding überhaupt rw gemountet? Hast dus mit noexec gemountet? Was spuckt mount aus, wenn dus gemountet hast?

Und ja das script wäre immer noch interessant




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025