Guten Tag, wie kann ich ein Loop Laufwerk mittels Script aus einer Containerdatei laden, ohne den Befehl "su" verwenden zu müssen?
http://wiki.ubuntuusers.de/LUKS/Containerdatei (Skripte ganz unten)
![]() Anmeldungsdatum: Beiträge: 1120 |
Guten Tag, wie kann ich ein Loop Laufwerk mittels Script aus einer Containerdatei laden, ohne den Befehl "su" verwenden zu müssen? http://wiki.ubuntuusers.de/LUKS/Containerdatei (Skripte ganz unten) |
||
Moderator & Supporter
![]() Anmeldungsdatum: Beiträge: 21834 Wohnort: Lorchhausen im schönen Rheingau |
Mit sudo. geht auch in Skripten ohne Passworteingabe, siehe sudo/Konfiguration |
||
(Themenstarter)
![]() Anmeldungsdatum: Beiträge: 1120 |
Ok hab das jetzt so gelöst dass ich einfach vor die Befehle sudo gesetzt habe:
Gibt es eine Möglichkeit den Loop Luks Container per Starter mit einem Klick einzubinden, so dass nur eine Passwortabfrage des Containers kommt und ich KEIN root Kennwort brauche? |
||
Moderator & Supporter
![]() Anmeldungsdatum: Beiträge: 21834 Wohnort: Lorchhausen im schönen Rheingau |
*seufz*
Den zweiten Link hab ich nicht zum Spaß dazugeschrieben oder weil Links in Beiträgen professionell wirken. Da steht genau das drin, was Du jetzt suchst. Lies nochmal den Punkt "Einstellungen". |
||
(Themenstarter)
![]() Anmeldungsdatum: Beiträge: 1120 |
Danke dass du dir die Zeit genommen hast. Also ich komme mit diesen Einträgen nicht zurecht sudo visudo %users ALL=NOPASSWD: /order/script dann abmelden, anmelden, doppelklick auf Script, im Terminal ausführen, funktioniert nicht, es schließt sich blitzschnell. Normal müsste dann "geben sie den Passsatz ein" als Ausgabe kommen. (2) Hab auch in Benutzer und Gruppen die Gruppe "luks" hinzugefügt und bei "Nutzer" nen Haken reingemacht und dann sudo visudo %luks ALL=NOPASSWD: /order/script probiert. Das ganze hab ich auch mit und ohne sudo vor den relevanten Programmaufrufen im Script getestet. Alles ohne Erfolg. Nur ein Erfolg mit (2) war, dass ich wenn ich im Ordner mit dem Skript den Terminalaufruf "sudo ./script" getätigt habe, dann alles so lief wie vorgesehen. Nur ich möchte nicht das Terminal dort öffnen müssen sowie den Befehl eingeben, sondern einfach nur auf das Script Doppelklicken und dann bei der Abfrage "Im Terminal ausführen" anklicken können. |
||
Moderator & Supporter
![]() Anmeldungsdatum: Beiträge: 21834 Wohnort: Lorchhausen im schönen Rheingau |
Ok, dann hast Du das wesentliche beachtet und einfach nur ein Verständnisproblem: Du musst in dem Fall die Befehle, die Du verwendest, also losetup und cryptsetup als erlaubte Befehle hinterlegen. Du hast hinterlegt, dass dein Skript ohne Passworteingabe mit sudo laufen darf, dann zeiht als nächstes die Regel dass root alles ohne Passworteingabe darf 😉 Nebenbei, deine if-Condition ist unnötig komplex:
Ich habe grad nichts zum loopen zur Hand, aber das könnte sogar ohne sudo klappen. |
||
(Themenstarter)
![]() Anmeldungsdatum: Beiträge: 1120 |
losetup ist ein sudo Befehl. #includedir /etc/sudoers.d %luks ALL=(root) NOPASSWD: /bin/umount %luks ALL=(root) NOPASSWD: /sbin/cryptsetup luksClose %luks ALL=(root) NOPASSWD: /sbin/losetup %luks ALL=(root) NOPASSWD: /order/script lubuntu ALL=(ALL) NOPASSWD: ALL hab auch %luks ALL=NOPASSWD: probiert. Beim Ausführen des Skripts ./script kommen immer nur Meldungen, dass root Rechte von Nöten sind. Bei "sudo ./script" funktioniert alles wie es sollte. |
||
Moderator & Supporter
![]() Anmeldungsdatum: Beiträge: 21834 Wohnort: Lorchhausen im schönen Rheingau |
Bitte jetzt mal vollständige Angaben:
|
||
(Themenstarter)
![]() Anmeldungsdatum: Beiträge: 1120 |
Habs gelöst mit folgendem Workaround: Vorbereitungen: sudo apt-get install cryptsetup Benutzer und Gruppen: neue Gruppe: "luks" ; "luks" Benutzer anhaken. sudo visudo unter: #includedir /etc/sudoers.d %luks ALL=(root) NOPASSWD: /sbin/losetup hinzufügen. (LiveCD bereithalten und vorher eine Kopie von /etc/sudoers anlegen falls was schiefgeht zurückkopieren) Containerdatei einrichten: dd if=/dev/urandom of=_Containername_ bs=1M count=_250_ (Größe in MB 250) sudo losetup /dev/loop0 "Containername" (evtl. losetup -f um freie Device abzufragen loop1 loop2...) sudo cryptsetup -c aes-xts-plain -y -s 512 luksFormat /dev/loop0 sudo cryptsetup luksOpen /dev/loop0 "Containername" (mount nach /dev/mapper/) sudo mkfs -t ext4 -L _LABEL_ /dev/mapper/"Containername" sudo cryptsetup luksClose "Containername" sudo losetup -d /dev/loop0 Skript zum Einhängen: sudo losetup /dev/loop0 /ort/"Containername" (In Nautilus erscheint dann die Loop Device, man kann sie nun anklicken und Nautilus fragt automatisch den Passsatz ab und hängt die Luks Device ein. Script zum Aushängen der Loop Device: (nachdem man in Nautilus die Luks Device ausgehangen hat) sudo losetup -d /dev/loop0 Auf die Skripte kann man nun einen benutzerdefinierten Anwendungsstarter deuten lassen, dann passiert das ganze per Klick aus dem Panel. Skript zum manuellen mounten, kann mit automatsicher loop Zuweisung aus http://wiki.ubuntuusers.de/LUKS/Containerdatei kombiniert werden: sudo losetup /dev/loop0 /ort/"Containername" sudo cryptsetup luksOpen /dev/loop0 "Containername" sudo mkdir /media/"Containername" sudo mount /dev/mapper/"Containername" /media/"Containername" sudo umount /media/"Containername" sudo cryptsetup luksClose "Containername" sudo rm -r /media/"Containername" sudo losetup -d /dev/loop0 |