automatisches Einloggen mit KDE#

Eigentlich schätzen wir alle Linux ja wegen seiner Sicherheit, die nicht zuletzt darauf basiert, daß man verschiedene Nutzer einrichten kann und man zum Einloggen jeweils ein Passwort angeben muss. Dennoch gibt es Gründe, das der Rechner direkt ohne Eingabe eines Users und eines Passworts in eine KDE-Oberfläche startet.

Der eine Grund ist, daß man sicher ist, daß man sowieso nur selber an den Rechner kommt. Hierbei bleibt es dem User selbst überlassen, zwischen Schutzbedürfnis seines Accounts und Sicherheit des Zugriffs abzuwägen. Ein anderer Grund ist, daß man einen Standard- (Gast-) Account einrichtet, der für normale Arbeiten benutzt werden kann, die keine User-Privilegien benötigen. Dies kann z.B. sinnvoll sein, wenn ein Rechner hauptsächlich genutzt wird, um als Terminal auf anderen Rechnern zu arbeiten oder nur als Surf-Station, auf der nur ein Browser läuft, etc.

Mein eigenes Problem liegt ein bisschen dazwischen. Ich arbeite oft auf meinem Laptop und programmiere dann meistens an irgendeinem Projekt herum, von dem ich mir Teile auf den Laptop kopiert habe. Dabei ist dort nie irgendwas geheimes. Dabei will ich den Rechner schnell und unproblematisch hochfahren. Ab und zu möchte ich allerdings auch unter anderen Accounts arbeiten (z.B. für meine Frau), um eigene Sessions und Einstellungen zu bekommen oder auch um als root zu arbeiten.

Account ohne Passwort#

Die einfache Lösung ist, einen Account ohne Passwort einzurichten. Obwohl die normalen Tools meistens meckern, wenn man dies versucht, reicht doch das Löschen des Passwort-Eintrags in der /etc/passwd-Datei aus, um das zu erreichen.

Warum reicht das nicht?#

Dennoch ist das unkomfortabel. Man schaltet den Rechner ein und dieser läuft eine Weile, bis er hochgefahren ist. So weit - so gut. Nun muss man sich allerdings einloggen (ohne Passwort also mindestens 2 mal "Enter" drücken) und dann dauert es wieder eine Weile, in der man warten muss. Warum kann nicht direkt die Oberfläche eines Standard-Benutzers geladen werden?

unelegante Lösungen#

Die zuerst von mir erwogene Lösung ist, daß man den automatischen Start des KDE-Logins verhindert (z.B. durch Deinstallation des Paketes kdm) und dann in den Startskripten des Systems etwas eigenes bastelt. Allerdings machte mich das nicht so ganz glücklich, denn was macht man denn, wenn nun doch mal ein anderer User unter KDE arbeiten will, ohne dafür erst auf die Konsole zu müssen und einige Befehle einzugeben.

Für bestimmte Anwendungen, wie z.B. ein dedizierter Rechner, der auschließlich für einen Zweck benutzt wird (z.B. Surfstation) mag das der richtige Weg sein, für meinen Rechner war das jedoch nicht gut.

Elegante Lösung#

Lange blieb diese Vision von mir unbearbeitet, bis ich irgendwann dahinterkam, daß genau dieser Fall vom KDE-Loginmanager kdm schon längst erfasst wird. Dann dauerte es nicht lange, bis ich herausfand, daß diese Einstellungen auch per KDE Control Center vorgenommen werden können. Die Einstellungen werden im Verzeichnis /etc/kde3/kdm/ in verschiedenen Dateien abgelegt. Diese sind auch halbwegs gut in den manpages dokumentiert. Eine sehr umfangreiche Doku gibt es auch unter http://docs.kde.org/stable/en/kdebase/kdm/kdm-files.html#kdmrc Da das Control Center aber der leichteste Zugang ist, und obwohl ich sonst immer ein Feind von graphischer Konfiguration bin, habe ich mich diesmal entschlossen, hier diesen Weg zu beschreiben:

So wird's eingestellt#

Im KDE-Kontrollzentrum wählt man "Systemverwaltung/Anmeldungsmanager", dann unten links den "Systemverwaltungsmodus". Die Registerkarte ganz rechts befasst sich nun mit dem, was wir wollen: "Vereinfachung". :-) Oben links klickt man dann auf "Enable auto-login" und auf "Truly automatic login". In dem Auswahlkasten darunter setzt man nun den User, der automatisch eingeloggt werden soll, also z.B. "gast". (Dieser muss natürlich vorher schon angelegt worden sein.) Die Einstellung ganz unten "Automatically Log in after X Server Crash habe ich jedoch ausgeschaltet. Danach mit "Apply" bestätigen und das Control Center wieder schliessen.

Jetzt kann man noch mit der rechten Maustaste auf den Schließen-Button in der Panel-Leiste klicken und dort in die Einstellungen gehen. Dort kann man einstellen, ob die Änderungen an der Session (d.h. welches Programm wo geöffnet ist etc.) beim herunterfahren gespeichert werden sollen und ob danach jedesmal gefragt werden soll (auch diese Frage finde ich inzwischen recht nervig.)

Einstellung per Datei#

Wer der graphischen Konfiguration nicht traut, benutzt entweder diff in o.g. Verzeichnis, oder schaut von Hand in die Datei /etc/kde3/kdm/kdmrc. Achtung! Sobald diese Datei einmal vom Control Center aus neu geschrieben wird, sind alle Kommentare und damit die Dokumentation gelöscht. (Das bestätigt meine Argumente gegen graphische Konfigurationstools...)

So wird's benutzt#

Wer jetzt mit /etc/init.d/kdm restart den kdm neu startet, wird automatisch eingeloggt. Fertig! Wer sich als jemand anderes einloggen will, loggt sich zuerst mal als Gast normal aus. Danach wird das normale kdm Login-Fenster angezeigt und man kann sich wie vorher auch als beliebiger User (auch root) anmelden. Wer den Rechner gerade einschaltet und es eilig hat, kann das hochfahren des Gast-Users auch mit "Strg-Alt-Del" (Stoppen des X-Servers) abwürgen und hat dann fast genausoschnell den Login-Screen wie vorher.

automatisch einloggen beim LinuxTerminalServer#

Alles oben gesagte bezog sich nur auf das normale Login, das ein normaler, einzelner Benutzer bekommt. Auf einem System, das mehrere Arbeitsplätze mit Logins versieht, ist das Ganze etwas komplizierter. In der Datei /etc/kde3/kdm/kdmrc kann man Sektionen für einzelne Arbeitsplätze bilden. Dies ist genau erklärt in http://docs.kde.org/stable/en/kdebase/kdm/kdm-files.html#kdmrc.

Als Beispiel hier eine Konfiguration für ein Autologin des Arbeitsplatzes "workstation1" mit dem Benutzer "user1":

[X-workstation1.intranet:0-Core]

AutoLoginEnable=true
AutoLoginUser=user1
AutoReLogin=true
AutoLoginAgain=true

Diese Konfiguration (insbesondere die letzte Zeile) funktioniert erst in KDE-Versionen ab 2006 (also insbes. in Debian Sarge noch nicht). Hier bietet sich als einfacher Ersatz evtl. folgendes innerhalb dieser Sektion an. Es erlaubt zumindest ein schnelles Einloggen durch "Enter".

NoPassEnable=true
NoPassUsers=wohnung

Sicherheit#

Das ein Autologin auf LinuxTerminalServer-Systemen eine potentiell sehr gefährliche Sache ist, brauche ich wohl nicht extra zu erwähnen. Dies ist nur sinnvoll, wenn ich einen User einlogge, der absolut nichts gefährliches machen kann (der z.B. nur einen Browser öffnet als "Kiosk-System" oder eine Präsentation fürs Schaufenster abspielt) oder wenn ich allen Personen, die in die Nähe meines Terminals kommen, restlos vertraue (also nie).

Tags:  X11

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-4) was last changed on 25-Jan-2008 12:44 by ThomasBayen