eyekona
Anmeldungsdatum: 25. Juni 2007
Beiträge: Zähle...
|
Hi, ich hab ein Problem mit Truecrypt. Und ich dachte, wenn jemand mit helfen kann, dann Ihr.
Wenn ich truecrypt ganz normal unter ubuntu (auf einem Server ohne GUI) benutze, funktioniert es ohne Probleme. Nur muss ich mein Truecrypt-Volume-Passwort UND das Root-Passwort eingeben um einen Container zu mounten. Nun möchte ich aber Truecrypt Container per Script mounten können. Das Passwort für das Truecrypt Volume kann ich mit -p übergeben, das root Passwort muss ich aber trotzdem eingeben. So ist das Script leider für meine Zwecke sinnlos... Wenn ich nun die sudoers file editiere, so dass mein user truecrypt ohne passwort benutzen darf, werde ich nicht nach dem root Passwort gefragt, bekomme aber oben genannte Fehlermeldung: "Error: Failed to set up a loop device". Sobald ich den Eintrag entferne funktioniert truecrypt wieder ganz normal, aber eben mit Root-Passwortabfrage. Nun gibt es 2 Möglichkeiten mein Problem zu lösen, soweit ich das sehe: 1. Den loop Fehler finden und beheben (modprobe loop macht keinen Unterschied) 2. Eine Möglichkeit finden das root Passwort im Script mit zu übergeben (nein ich will auf keinen Fall das Script mit sudo aufrufen sondern als user!)
(und ja, ich werde natürlich nicht die Passwörter im Klartext in das Script schreiben, aber da weiß ich schon wie ich das mache...) Hat jemand von euch eine Idee?
Freue mich über jede Hilfe. Eure ratlose eyekona
|
u1000
Anmeldungsdatum: 2. Oktober 2011
Beiträge: 1850
|
https://wiki.archlinux.org/index.php/TrueCrypt#Failed_to_set_up_a_loop_device Siehe Abschnitt "Failed to set up a loop device": it may be because you updated your kernel recently without rebooting. Rebooting should fix this error.
Da du ja die Ubuntu Server Variante nutzt, könnte dies ggf. bei dir zutreffen ? Und Poste mal die neue sudoers. viele grüße u1000
|
eyekona
(Themenstarter)
Anmeldungsdatum: 25. Juni 2007
Beiträge: 31
|
Diesen Artikel habe ich auch schon gelesen und bereits den Server auf den Verdacht hin neu gestartet.
Es handelt sich vorerst zum Glück nur um einen Testserver, bei dem das kein Problem darstellt.
Sobald alles funktioniert muss es natürlich auch auf dem richtigen Server laufen. Die neue sudoers Datei sieht wie folgt aus:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 | # This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
# Truecrypt
<user> ALL=(root) NOPASSWD:/usr/bin/truecrypt
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
|
Wie man sieht habe ich nichts geändert, außer die eine Zeile bei Truecrypt hinzugefügt. Statt <user> steht da natürlich der Benutzername... Der Pfad zu Truecrypt stimmt auch - schon überprüft, außerdem hat es ja ein Resultat... Wie gesagt, die Wikiseite habe ich gestern schon gefunden und alle Vorschläge von dort befolgt - also modprobe loop und Neustarten... Die -u Flag wird leider von der neuen Truecrypt Version nicht mehr unterstützt und führt zu einer Fehlermeldung... Außerdem funktioniert Truecrypt ja, sobald ich die Permission aus der Sudoers wieder rausnehmen... also denke ich nicht, dass es an einem fehlenden loop Modul liegen kann, oder nicht? Ich habe die Vermutung, dass ich truecrypt zwar nutzen darf, ohne Passwort, dass aber truecrypt irgendetwas aufruft, dass root-Rechte braucht - könnte das sein? LG eyekona P.S. ich habe den Fehler inzwischen reproduzieren können auf einer VM mit derselben Ubuntu Version...
|
u1000
Anmeldungsdatum: 2. Oktober 2011
Beiträge: 1850
|
Meine Zeile sieht so aus (ich habe eine User Gruppe Namens truecrypt):
%truecrypt ALL=(root) NOPASSWD: /usr/bin/truecrypt
–> Leerzeichen nach dem ":" Und noch: die /etc/sudoers hast du per visudo bearbeitet ?
P.S. ich habe den Fehler inzwischen reproduzieren können auf einer VM mit derselben Ubuntu Version...
Stichwort VM: Der ursprüngliche Server ist real ? Und welche Virtualisierung nutzt du für deinen Test mit der VM ? Ich frage desshalb nach, da je nach Virtualisierung keine Loop-Device zur Verfügung stehen.
|
eyekona
(Themenstarter)
Anmeldungsdatum: 25. Juni 2007
Beiträge: 31
|
1. Der ursprüngliche Server ist real - und auf beiden funktioniert Truecrypt ganz so, wie es soll ohne jeden Fehler wenn ich es als root ausführe. 2. Ja, natürlich mit visudo verändert - die Leerzeichen sind egal falls du es nich nicht wusstest ^^ Ich habs gerade, nur um ganz sicher zu gehen mal reingemacht... aber macht natürlich keinen Unterschied 3. Die VM ist Proxmox, tut aber nichts zur Sache, da der ursprüngliche Server real ist... Weitere Ideen? LG
|
u1000
Anmeldungsdatum: 2. Oktober 2011
Beiträge: 1850
|
12.04 & Truecrypt sollte eigentlich problemlos outOfTheBox laufen. Irgendetwas ist auf deinem System nicht Standart. Ubuntu 64 bit ? Truecrypt Version ? Welchen Installer ? Als root installiert ? User in den Default gruppen ? inkl Fuse Gruppe ? Welches Filesystem im Truecrypt Container ?
|
eyekona
(Themenstarter)
Anmeldungsdatum: 25. Juni 2007
Beiträge: 31
|
Ubuntu Server 12.04 64Bit; Truecrypt 7.1 64 Bit Consolen Version - ohne Installer, dementsprechend auch nicht installiert sondern nur an die richtige Stelle kopiert, das natürlich als root, wie sonst?; user in default Gruppen (user:user); was ist eine Fuse Gruppe?; FAT im Container; sonst noch was? Und ja funktioniert ja out-of-the-Box ^^ Nur nicht als "nicht-root". Oder gingen die Fragen an HeinzBoettcher, der meinen Thread "gekapert" hat? 😉 Nochmal meine Frage, kann ich im Scipt irgendwie "sudo igendwas" ausühren und das Passwort auch dem Scipt mitgeben, oder weiß jemand, wie ich das loop Problem löse? Was ist mit dieser Fuse Gruppe? LG eyekona
|
u1000
Anmeldungsdatum: 2. Oktober 2011
Beiträge: 1850
|
Ja genau, meine dich eyekona ☺
Truecrypt 7.1 64 Bit Consolen Version - ohne Installer,
laut Webseite ist 7.1a die letzte Stable Version - diese verwende ich auch. dementsprechend auch nicht installiert sondern nur an die richtige Stelle kopiert, das natürlich als root, wie sonst?;
nur zur Sicherheit nachgefragt, Auspacken und Setup starten:
wget http://www.truecrypt.org/download/truecrypt-7.1a-linux-console-x64.tar.gz
tar -xvzf truecrypt-7.1a-linux-console-x64.tar.gz
sudo sh truecrypt-7.1a-setup-console-x64
was ist eine Fuse Gruppe?;
FUSE ist wichtig: "Es erlaubt nicht-privilegierten Benutzern, eigene Dateisysteme zu mounten." Lies dir das mal durch und füge ggf. den User der fuse Gruppe hinzu.
Nochmal meine Frage, kann ich im Scipt irgendwie "sudo igendwas" ausühren und das Passwort auch dem Scipt mitgeben, oder weiß jemand, wie ich das loop Problem löse?
Zu beiden Fragen kann ich nichts sagen.
|
eyekona
(Themenstarter)
Anmeldungsdatum: 25. Juni 2007
Beiträge: 31
|
Die Zugehörigeit zur Fuse Gruppe macht leider keinen Unterschied, hatte gehofft, das wäre es vielleicht - weiterhin "Failed to set up a loop device" als normaler User und als root funktioniert es weiterhin sofort, sobald ich den sudoer Eintrag entferne... Und ja truecrypt ist richtig drauf, danke ^^ Sonst würde es auch kaum funktionieren... ^^ Aber danke für die Idee ☺ -edit-
Und ja, war 7.1a gemeint... immer diese Typos...
|
lotharster
Anmeldungsdatum: 7. Oktober 2006
Beiträge: 495
|
Könnte es mit Umgebungsvariablen zusammenhängen? Die könnten sich evtl. unterscheiden, wenn du truecrypt als root oder als sudo-user ausführst. Könntest Du außerdem mal genau angeben, wie das mounten klappt (root) und wie nicht (sudo) - also die entsprechenden bash-Befehle inklusive Ausgabe posten (evtl. mit der Option -vv, falls truecrypt das unterstützt)?
|
eyekona
(Themenstarter)
Anmeldungsdatum: 25. Juni 2007
Beiträge: 31
|
Befehl: truecrypt -v /home/user/test.tc -p test --slot=1 /home/user/TC/ --protect-hidden=no --keyfiles= Als normaler user bekomme ich: Error: Failed to set up a loop device: /home/user/test.tc Wenn ich als root angemeldet bin (damit es mit sudo + Befehl geht muss ich den Eintrag aus der Sudoers Liste entfernen, dann selbes Ergebnis) bekomme ich: Volume "/home/user/test.tc" has been mounted.
|
u1000
Anmeldungsdatum: 2. Oktober 2011
Beiträge: 1850
|
... --slot=1 ...
Bei mir mal Gegengecheckt, da ich keinen slot angebe - macht aber auch keinen Unterschied ☹ Und nur so ein Gedanke, poste mal:
uname -a
id
ls -la /dev/loop* Und der Server ist auf neuestem Stand ?
sudo apt-get update; sudo apt-get upgrade
sudo apt-get dist-upgrade
|
lotharster
Anmeldungsdatum: 7. Oktober 2006
Beiträge: 495
|
@eyekona Laut man-Page gibt truecrypt mehr Infos aus, wenn man die "-v" Option mehrmals angibt. Poste doch mal die entsprechende Ausgabe. Außerdem loggt Truecrypt ins syslog (/var/log/syslog), vielleicht finden sich dort auch noch interessante Infos.
|
eyekona
(Themenstarter)
Anmeldungsdatum: 25. Juni 2007
Beiträge: 31
|
Der zweite Admin bei uns in der Firma kam gerade zu mir und meinte, dass es auf der Test VM jetzt geht, er weiß aber nicht genau, warum... Er hat den mount Befehl in die Sudoers Liste aufgenommen und noch ein paar andere Sachen auf Verdacht geändert, weiß aber nicht mehr genau welche alle, sowie die neusten Updates gezogen. (Die TestVM war nicht upgedatet, der TestServer schon...) Jetzt wird es bei mir also darum gehen herauszufinden, welche Änderungen nun nötig waren und welche nicht und wie ich es auf dem richtigen Server zum Laufen bekomme... Aber zumindest sehe ich jetzt dass es geht und habe eine Umgebung bei der ich gucken kann wie und warum es nun als nomaler user geht. Danke für den doppel -vv Tipp und eure Hilfe, bzw eure Ideen... Wenn ich eine sichere Lösung habe werde ich sie hier nochmal für alle posten, die das Problem auch haben. LG eyekona P.S.
(Wie man udpated oder etwas installiert musst du mir wirklich nicht schreiben ^^ Ich arbeite schon seit über 10 Jahren als Linux-Admin, da sollte ich zumindest das langsam können 😉 )
|
mike434
Anmeldungsdatum: 17. September 2019
Beiträge: Zähle...
|
Führen Sie dieses Skript aus und alles funktioniert: | #!/bin/bash
for i in {8..255}; do
if [ -e /dev/loop$i ]; then
echo not creating loop $i
continue;
fi;
mknod -m 0660 /dev/loop$i b 7 $i
done
|
|