|
|
# Schneller bei Linux anmelden
|
|
|
**Wer beim Log-in keine langen Passwörter eintippen mag, kann das Anmeldeverfahren ändern. Die Möglichkeiten reichen von der automatischen Anmeldung bis zur Authentifizierung über einen USB-Stick.**
|
|
|
|
|
|
Wenn Sie den Rechner gestartet haben, erscheint im Normalfall ein Anmeldebildschirm, über den Sie sich mit Benutzernamen und Passwort authentifizieren. Das dient der Sicherheit, weil so auch mehrere Benutzer nur Zugang zu ihrem eigenen Home-Verzeichnis und damit zu ihren persönlichen Daten erhalten. Das Passwort dient außerdem zum Aufheben der Bildschirmsperre und zur Legitimierung als Systemverwalter, wenn root-Rechte erforderlich sind. Wer seinen PC alleine oder in einer sicheren Umgebung verwendet, kann aber auch ganz auf ein Passwort verzichten oder sich automatisch anmelden lassen. Ist mehr Sicherheit erforderlich, bietet Linux weitere bequeme Anmeldeoptionen, beispielsweise über eine kurze PIN, einen USB-Stick oder per Fingerabdruck.
|
|
|
|
|
|
## 1. Automatische Anmeldung aktivieren
|
|
|
Muss der PC nicht vor unbefugtem Zugriff geschützt werden, verwenden Sie die automatische Anmeldung. Eine Option dafür finden Sie bereits bei der Installation etwa von Ubuntu. Im Dialog „Wer sind Sie?“ können Sie zwischen „Automatisch anmelden“ und „Passwort zum Anmelden verwenden“ wählen. Solche vereinfachte Anmeldung lässt sich auch nachträglich aktivieren. Nutzer von Ubuntu klicken auf das Icon rechts oben im Bildschirm, dann auf den Benutzernamen und „Kontoeinstellungen“. Klicken Sie dann auf „Entsperren“, geben Sie Ihr Passwort ein und bestätigen Sie per Klick auf „Anmelden“. Wählen Sie dann den Systembenutzer aus, der sich automatisch anmelden darf, und setzen Sie den Schalter hinter „Automatische Anmeldung“ auf „An“.
|
|
|
|
|
|
## 2. Anmeldung ohne Passwort konfigurieren
|
|
|
Benutzer können sich auch ohne Passwort anmelden. Es genügt ein Klick auf den Benutzernamen im Anmeldebildschirm. Die Konfiguration sollten Sie aber nur für Standardbenutzer vornehmen, weil unter Ubuntu bei der passwortlosen Anmeldung keine Sitzungsauswahl im Anmeldebildschirm erfolgen kann und die Legitimierung als Systemverwalter fehlschlägt, auch wenn der Benutzer zur Gruppe der Systemverwalter gehört.
|
|
|
Installieren Sie unter Ubuntu in einem Terminalfenster (Strg-Alt-T) zuerst ein zusätzliches Konfigurationstool für Benutzer und Gruppen:
|
|
|
|
|
|
`sudo apt install gnome-system-tools`
|
|
|
|
|
|
Suchen Sie über „Aktivitäten“ nach „Benutzer“, klicken Sie auf „Benutzer und Gruppen“ und dann auf „Gruppen verwalten“. Hier erstellen Sie über „Hinzufügen“ die neue Gruppe „nopasswdlogin“. Klicken Sie auf „OK“ und „Schließen“, um alle Änderungen zu speichern. Nachdem Sie die Gruppe erstellt haben, wählen Sie den gewünschten Benutzer und klicken hinter „Passwort“ auf „Ändern“. Setzen Sie ein Häkchen vor „Nicht bei der Anmeldung nach einem Kennwort fragen“.
|
|
|
Damit die Einstellung funktioniert, ist eine weitere Änderung nötig. Über ein Terminalfenster öffnen Sie die Konfigurationsdatei im Editor:
|
|
|
|
|
|
`sudo gedit /etc/pam.d/gdm-password`
|
|
|
|
|
|
Fügen Sie unter „auth requisite pam_nologin.so“ folgende Zeile
|
|
|
|
|
|
`auth sufficient pam_succeed_if.so user ingroup nopasswdlogin`
|
|
|
|
|
|
ein. Speichern Sie die Datei und beenden Sie den Editor.
|
|
|
|
|
|
## 3. So funktioniert die Anmeldung unter Linux
|
|
|
Der Kern der Linux-Anmeldefunktionen ist PAM (Pluggable Authentication Modules). Die Bezeichnung deutet schon darauf hin, dass es sich nicht um ein einzelnes Programm handelt, sondern um Module für unterschiedliche Aufgaben. PAM ist nicht nur für die Desktopanmeldung zuständig. PAM stellt seine Funktionen auch Serverdiensten wie FTP, SSH oder dem Webserver Apache zur Verfügung. Der Vorteil dabei: Dienste und Anwendungen müssen keine eigenen Funktionen für die Benutzeranmeldung implementieren, sondern können auf die Standardfunktionen des Systems zurückgreifen. Über PAM und die Konfigurationsdateien der jeweiligen Dienste lässt sich die Methode der Authentifizierung bei Bedarf ändern.
|
|
|
Standardmäßig kommt das PAM-Modul beziehungsweise die Programmbibliothek „pam_unix.so“ zum Einsatz. Die Datei ist zusammen mit den anderen Modulen im Ordner „/lib/x86_64-linux-gnu/security“ zu finden (so unter Ubuntu 18.04 LTS, 64 Bit). „pam_unix.so“ verwendet die Dateien „/etc/passwd“ und „/etc/shadow“, um herauszufinden, ob die Kombination von Benutzername und Passwort stimmt und ob das Konto nicht abgelaufen oder gesperrt ist.
|
|
|
|
|
|
In der Regel verwendet eine PAM-Konfiguration mehrere Module nacheinander. Wenn Sie sich beispielsweise den Inhalt von „/etc/pam.d/gdm-password“ ansehen (siehe Punkt 2), beginnt diese mit „auth requisite pam_nologin.so“. Das Modul prüft, ob die Datei „/etc/nologin“ vorhanden ist. Ist das der Fall, wird allen Benutzern außer „root“ die Anmeldung verweigert. Bei Ubuntu ist das nicht besonders sinnvoll, weil der Benutzer „root“ erstens kein Passwort besitzt, zweitens das Konto deaktiviert ist und root sich daher nicht direkt anmelden kann. In der Folge funktioniert unter Ubuntu gar keine Anmeldung mehr, wenn „/etc/nologin“ existiert. Damit „root“ sich auch bei aktivem Konto und mit Passwort nicht einloggen kann, dafür sorgt diese Zeile
|
|
|
|
|
|
`auth required pam_succeed_if.so user != root quiet_success`
|
|
|
|
|
|
Die eigentliche Anmeldung eines Benutzers erfolgt über die Zeilen
|
|
|
|
|
|
`@include common-auth`
|
|
|
`@include common-account`
|
|
|
|
|
|
Damit werden die gleichnamigen Konfigurationsdateien aus „/etc/pam.d“ eingebunden, die von den meisten Diensten gemeinsam benutzt werden. „common-auth“ erledigt die Prüfung von Benutzernamen und Passwort und „common-account“ verweigert die Anmeldung, etwa wenn ein Konto abgelaufen ist. Für beides ist „pam_unix.so“ zuständig.
|
|
|
|
|
|
## 4. Struktur der PAM-Konfiguration
|
|
|
Eine Konfigurationszeile besteht aus drei oder vier Elementen. Am Anfang steht das Schlüsselwort für den Modultyp:
|
|
|
|
|
|
**auth:** Prüfung, ob der Benutzer authentisch ist, etwa durch eine Passwortabfrage oder einen Fingerabdruck.
|
|
|
**account:** Prüfung, ob der Benutzer einen Dienst überhaupt nutzen darf.
|
|
|
**password:** Das Modul kann ein Authentifizierungsmerkmal ändern, etwa ein Passwort.
|
|
|
**session:** Verwaltung und Konfiguration der Sitzung nach der Authentifizierung, etwa die Protokollierung von Log-ins oder die Zuweisung des Home-Verzeichnisses.
|
|
|
|
|
|
Danach folgt ein Kontroll-Flag. Es beeinflusst das Gesamtergebnis, wenn ein Modul einen Fehlschlag meldet.
|
|
|
|
|
|
**required:** Das Modul muss Erfolg melden, andernfalls schlägt die Authentifizierung fehl. Weitere Module desselben Typs werden zwar ebenfalls abgearbeitet, können daran aber nichts mehr ändern.
|
|
|
|
|
|
**requisite:** Wenn das Modul keinen Erfolg meldet, erhält der Benutzer eine genaue Information und die Anmeldung bricht ab. Nachfolgende Module werden nicht berücksichtigt.
|
|
|
|
|
|
**sufficient:** Meldet das Modul Erfolg, werden die nachfolgenden Module nicht abgearbeitet, außer wenn ein vorheriges „required“-Modul einen Fehlschlag meldet.
|
|
|
|
|
|
**optional:** Erfolg oder Fehlschlag haben keine Auswirkung. Das kommt beispielsweise bei Modulen zum Einsatz, die nur eine Prüf- oder Anzeigefunktion haben.
|
|
|
|
|
|
Bei den genannten Kontroll-Flags handelt es sich um Kurzformen. In einigen Konfigurationsdateien finden Sie auch eine komplexere Syntax in eckigen Klammern. In der Datei „/etc/pam.d/common-auth“ stehen beispielsweise diese drei Zeilen:
|
|
|
|
|
|
`auth [success=1 default=ignore] pam_unix.so nullok_secure`
|
|
|
`auth requisite pam_deny.so`
|
|
|
`auth required pam_permit.so`
|
|
|
|
|
|
Sollte die Anmeldung in der ersten Zeile erfolgreich sein, bewirkt „success=1“, dass die nächste Zeile übersprungen wird. „pam_permit.so“ erlaubt dann in der letzten Zeile den Zugang. Andernfalls wird über „pam_deny.so“, das immer einen Fehlschlag meldet, die Anmeldung verweigert. Wegen „requisite“ bricht die Authentifizierung dann sofort ab, die letzte Zeile wird nicht mehr berücksichtigt. „default=ignore“ bewirkt, dass die Rückgabe von „pam_unix.so“ keinen Einfluss auf das Gesamtergebnis hat. Das ist auch nicht nötig, weil die nachfolgenden zwei Zeilen zuverlässig Misserfolg oder Erfolg signalisieren.
|
|
|
|
|
|
Das letzte Element in einer Konfigurationszeile kann durch Leerzeichen getrennte Moduloptionen enthalten. Bei „pam_unix.so“ gibt es beispielsweise „nullok_secure“, was eine Anmeldung auch mit einem leeren Passwort erlaubt. Weitere Informationen zu den Optionen finden Sie in der Hilfe zum jeweiligen Modul, etwa über man pam_unix.
|
|
|
|
|
|
# 5. Backup als Vorsichtsmaßnahme anlegen
|
|
|
Bevor Sie etwas an der PAM-Konfiguration ändern, erstellen Sie ein Backup des Ordners „/etc/pam.d“. Bei Fehlern besteht akute Gefahr, dass Sie sich nicht mehr anmelden können. In diesem Fall hilft nur noch ein Linux-Livesystem von einer DVD oder einem USB-Stick. Passende Livesysteme finden Sie auf der LinuxWelt-DVD. Empfehlenswert ist beispielsweise das LinuxWelt-Surfsystem.
|
|
|
|
|
|
Über das Menü und „Systemwerkzeuge“ starten Sie den Dateimanager Caja (rotes Icon) als Systemverwalter (Passwort: toor). Unter „Geräte“ finden Sie Ihre Linux-Partition auf der Festplatte. Über den Kontextmenüpunkt „Mit Pluma öffnen“ laden Sie eine Konfigurationsdatei in den Editor und können den Inhalt korrigieren. Bei Bedarf ersetzen Sie die Dateien unter „/etc/pam.d“ durch das Backup.
|
|
|
|
|
|
## 6. Anmeldung über eine kurze PIN
|
|
|
Das bei Ubuntu standardmäßig installierte Paket „libpam-modules“ enthält bereits einige Zusatzmodule, die Sie nutzen können. Eins davon ist „pam_userdb.so“. Es verwendet eine Datenbank im Berkeley-Format, in der Benutzernamen und Passwörter gespeichert sind. Das Modul lässt sich neben „pam_unix.so“ einrichten, sodass Sie sich weiterhin mit dem Linux-Standardpasswort, alternativ aber auch mit einem kürzeren Passwort anmelden können.
|
|
|
Installieren Sie in einem Terminalfenster zuerst die Tools für die Verwaltung der Datenbank:
|
|
|
|
|
|
`sudo apt install db-util whois`
|
|
|
|
|
|
Erstellen Sie die Textdatei „users_and_passwords.txt“ in Ihrem Home-Verzeichnis. Diese enthält pro Zeile Benutzernamen und Passwort getrennt durch einen Doppelpunkt:
|
|
|
|
|
|
`sepp:1234`
|
|
|
`te:4567`
|
|
|
|
|
|
Laden Sie über www.pcwelt.de/5Wk1MZ das Bash-Script „create_user_db.sh“ herunter. Speichern Sie dieses im Home-Verzeichnis und machen Sie es mit
|
|
|
|
|
|
`chmod +x create_user_db.sh`
|
|
|
|
|
|
ausführbar. Danach starten Sie es:
|
|
|
|
|
|
`./create_user_db.sh`
|
|
|
|
|
|
Damit haben Sie die Datenbank „/etc/userpass.db“ mit Benutzernamen und verschlüsselten Passwörtern angelegt.
|
|
|
Erstellen Sie dann eine Konfigurationsdatei für das neue Anmeldeverfahren:
|
|
|
|
|
|
`sudo gedit /etc/pam.d/inc_pin`
|
|
|
|
|
|
Die Datei muss die folgenden vier Zeilen enthalten:
|
|
|
|
|
|
`auth [success=2 default=ignore] pam_userdb.so crypt=crypt `
|
|
|
`db=/etc/userpass`
|
|
|
`auth [success=1 default=ignore] pam_unix.so try_first_pass`
|
|
|
`auth requisite pam_deny.so`
|
|
|
`auth required pam_permit.so`
|
|
|
|
|
|
Beachten Sie, dass der Name der Datenbankdatei ohne die Endung „.db“ angegeben werden muss. Diese Konfiguration versucht zuerst eine Authentifizierung über „pam_userdb.so“. Sollte diese fehlschlagen, kommt die Standardmethode mit „pam_unix.so“ zum Einsatz.
|
|
|
|
|
|
Probieren Sie die Konfiguration zuerst für den Befehl sudo aus:
|
|
|
|
|
|
`sudo gedit /etc/pam.d/sudo`
|
|
|
|
|
|
Setzen Sie ein Kommentarzeichen (‚#‘) vor die Zeile „@include common-auth“ und fügen Sie darunter die Zeile
|
|
|
|
|
|
`@include inc_pin`
|
|
|
|
|
|
ein. Öffnen Sie ein neues Terminalfenster und führen Sie
|
|
|
|
|
|
`sudo -i`
|
|
|
|
|
|
aus. Der Wechsel zum Systemverwalterkonto funktioniert jetzt mit der in „/etc/userpass.db“ hinterlegten PIN und weiterhin alternativ mit dem bisher verwendeten Passwort.
|
|
|
|
|
|
Bauen Sie „@include inc_pin“ entsprechend in die Dateien „/etc/pam.d/gdm-password“ sowie „/etc/pam.d/polkit-1“ ein. Dann können Sie die PIN für die Anmeldung an der grafischen Oberfläche, ferner zum Entsperren und zur Legitimierung für höhere Rechte verwenden.
|
|
|
|
|
|
|
|
|
|
|
|
|