schizo
Produkt der Gesellschaft
|
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
OC Addicted
|
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
AdministratorGNUltra
|
Ich muss gestehen, ich verstehe weder den ersten, noch den zweiten Post in diesem Thread Willst du dein Anliegen vielleicht nochmals alternativ formulieren, Schizo?
|
schizo
Produkt der Gesellschaft
|
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
OC Addicted
|
Meinst du vielleicht chmod?
|
gue
Addicted
|
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 ?
|
schizo
Produkt der Gesellschaft
|
Meinst du vielleicht chmod? ja... hab mich vorhin anscheinend verschrieben chmod, chroot würd ja keinen Sinn ergeben man fstab ? 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
Addicted
|
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: /mnt/sda5 /home/gue/Home auto rw,bind,exec,auto,user 0 0
|
Marcellus
OC Addicted
|
auszug aus "man fstab" It is formatted as a comma separated list of options. It contains at least the type of mount plus any additional options
|
schizo
Produkt der Gesellschaft
|
man fstab?
Auszug aus meiner fstab:
/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)
Bearbeitet von schizo am 06.05.2007, 15:01
|
Marcellus
OC Addicted
|
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: #!/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
Bearbeitet von Marcellus am 06.05.2007, 15:23
|
schizo
Produkt der Gesellschaft
|
Wird das file ausgeführt? Ja 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. Ist das script ausführbar? Ja Hast du irgendwelche aliases in dem script verwendet, die nicht global verfügbar sind? Nein Wenn du in diesem script mit echo in ein file was rausschreibst ist es dann da? Ja Was passiert wenn du nach dem booten das file von hand ausführst? Ich hab das script bis jetzt nur von Hand ausgeführt. 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. 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. 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:
#!/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
OC Addicted
|
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
Produkt der Gesellschaft
|
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
OC Addicted
|
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
|