Linux Mint – VeraCrypt
Die Installation von VeraCrypt als Systempaket über die Anwendungsverwaltung war problemlos. Auch das einhängen einer externen verschlüsselten Festplatte machte keine Probleme. Das Problem: Ich habe VeraCrypt als Root-User bzw. als User mit Sudo-Rechten installiert und gestartet. Jetzt, als “normaler” User, funktionierte Veracrypt nicht mehr. Grrrrr.
Fehlermeldung
Die Fehlermeldung lautet: Erlangen der Administrator-Privilegien fehlgeschlagen: Leider darf der Benutzer BENUTZERNAME »/usr/bin/veracrypt –core-service« als root auf RECHNERNAME nicht ausführen. Ah, ok. Wie sich rausstellt trennt VeraCrypt seine Funktionen. Die grafische Oberfläche läuft als normaler Benutzer und kann daher gestartet werden. Der Core-Service, der die Festplatte einhängt läuft aber mit Root-Rechten und da ich nicht in der Sudo-Gruppe bin, kann der Dienst nicht starten. Also rein in die Sudo-Gruppe.
sudoers
Nein, natürlich nicht. Das ist ja genau das, was wir nicht wollen. Die Lösung heißt: sudoers. Dies ist eine Textdatei, die die tiefsten Ebenen Ihres Berechtigungssystems steuert. Sie erlaubt oder verweigert Benutzern den Zugriff auf Superuser und verfügt über einige spezielle Einstellungen für sudo. Ausserdem kann die Sudoers-Datei es einem bestimmten Benutzer ermöglichen, Befehle als ein anderer Benutzer im System auszuführen und das ist genau das was wir brauchen. Um Inkonsistenzen und Tippfehler zu vermeiden sollte man die Datei sudoers immer im Terminal mit dem Befehl sudo visudo öffnen.
visudo
visudo ist kein normaler Texteditor, sondern ein Spezialprogramm zum sicheren Bearbeiten der sudoers-Datei.
Es hat drei wichtige Schutzfunktionen:
| Funktion | Beschreibung |
|---|---|
| 1. Syntaxprüfung | Nach dem Speichern prüft visudo, ob die Datei formal korrekt ist. Wenn ein Fehler drin ist, warnt es dich oder verhindert das Speichern. |
| 2. Sperre gegen gleichzeitige Bearbeitung | visudo legt eine Sperre an (sudoers.tmp), damit nur ein Benutzer gleichzeitig an der Datei arbeitet. |
| 3. Sicheres Schreiben | Es speichert zuerst in eine temporäre Datei (/etc/sudoers.tmp) und ersetzt die echte Datei erst, wenn alles geprüft wurde. So wird die alte Datei nie zerstört, wenn was schiefgeht. |
Einträge
Logisch, dass visudo im Terminal nur vom einem Benutzer mit sudo-Rechten gestartet werden kann. Demzufolge müssen wir uns im Terminal erst mal zu einem Benutzer mit sudo-Rechten machen:
su - BenutzerMitSudoRechten
Jetzt öffnen wir den Terminal-Editor mit dem Befehl
sudo visudo
und fügen am Ende folgende Zeile ein
Benutzername ALL=(root) NOPASSWD: /usr/bin/veracrypt --core-service
Mit <Strg><O> speichern wir den Inhalt und mit <Strg><X> beenden wir den Editor (bei mir ist es der GNU nano 7.2 Editor) und befinden uns wieder im Terminal . Allerdings immer noch als User mir sudo-Rechten. Daher schnell noch
exit
eingeben, um als normaler User weiterzuarbeiten oder aber gleich das Terminal ganz zu schliessen.
Fazit
Gar nicht so einfach alles. Wobei, wenn man sich ersteinmal daran gewöhnt hat, ist es eigentlich gar nicht so schwer, da das System auf alle Installationen übertragen werden kann. Wobei das aber auch wieder nicht für alles gilt. Grafischen Programmen sollte man nicht über einen Eintrag in der sudoers-Datei die fehlenden sudo-Rechte geben sondern über den Terminal-Befehl pkexec. Mit diesem Befehl steuert man sogenannte Policys über die ich mich in einem späteren Beitrag bestimmt auch noch mal auslassen werde.
Für VeraCrypt gilt: Ja, es ist ein grafisches Programm aber der Grafikteil benötigt keine sudo-Rechte. Die benötigen nur die Core-Services und das haben wir ja explizit so hinterlegt. Also: alles gut.
Leave a Reply