Überblick

2.1. Einführung

Das Gnome-Anmeldefenster (GDM) ist ein Anmeldebildschirm, der über alle wichtigen Merkmale verfügt, um lokale oder entfernte Anzeigen zu verwalten. GDM wurde komplett neu geschrieben und enthält keinen Code aus XDM oder anderweitig vom X-Konsortium stammenden Code.

Beachten Sie, dass GDM in hohem Maße konfigurierbar ist. Viele Einstellungen können die Systemsicherheit beeinflussen. Punkte, die Sie besonders beachten sollten, werden in diesem Dokument hervorgehoben dargestellt.

Bitte beachten Sie, dass GDM auf einigen Betriebssystemen abweichend von den in diesem Dokument beschriebenen Standardwerten vorkonfiguriert wird. Falls GDM von diesem Dokument abzuweichen scheint, dann prüfen Sie bitte, ob die diesbezügliche Konfiguration von der hier beschriebenen abweichen darf.

Weitere Informationen über GDM finden Sie auf der Projekt-Website: http://wiki.gnome.org/Projects/GDM.

Für Anfragen oder Diskussionen oder über GDM wenden Sie sich bitte an die Mailingliste

. Diese Liste wird archiviert und ist eine hervorragende Quelle für Antworten auf allgemeine Fragen. Die Liste wird auf http://mail.gnome.org/archives/gdm-list/ archiviert und bietet eine Suchfunktion für Schlüsselwörter und Textpassagen.

Bitte senden Sie alle Fehlermeldungen oder Verbesserungsvorschläge an http://bugzilla.gnome.org, Kategorie »gdm«.

2.2. Stabilität der Schnittstelle

GDM 2.20 und ältere Versionen unterstützen stabile Schnittstellen zur Konfiguration. Die Codebasis wurde jedoch für GDM 2.22 vollständig neu geschrieben und ist nicht gänzlich kompatibel mit älteren Versionen. Dies liegt einerseits daran, dass es anders arbeitet und einige Optionen überflüssig werden oder noch nie sinnvoll waren und andererseits, dass einige Funktionalität noch nicht wieder implementiert worden ist.

Schnittstellen, die auch in Zukunft fortlaufend unverändert unterstützt werden, beinhalten die Init-, PreSession-, PostSession-, PostLogin- und Xsession-Skripte. Einige Konfigurationsoptionen des Daemon in der Datei <etc>/gdm/custom.conf werden fortlaufend unterstützt. Ebenfalls werden die Datei ~/.dmrc und die Speicherorte der Fotos des Benutzeralbums weiterhin unterstützt.

GDM 2.20 und ältere verfügten über die Fähigkeit, mehrere Bildschirme über verschiedene Grafikkarten anzusteuern. Sie kommt zur Anwendung in Umgebungen mit Terminal Server, einem Anmeldefenster mittels eines Programms wie Xnest oder Xephyr, dem Programm »gdmsetup«, XML-basierten Themen des Begrüßungsbildschirms. Es wurde auch die Fähigkeit unterstützt, den XDMCP-Wähler vom Anmeldebildschirm aus zu starten. Diese Merkmale wurden nicht während der Neuprogrammierung für 2.22 hinzugefügt.

2.3. Funktionsbeschreibung

GDM ist für die Verwaltung der Anzeigen des Systems zuständig. Dies beinhaltet die Legitimation der Benutzer, den Start und das Beenden der Benutzersitzung. GDM ist konfigurierbar, die diesbezüglichen Möglichkeiten werden im Abschnitt »GDM konfigurieren« in diesem Dokument beschrieben. GDM ist auch von Benutzern mit Behinderungen nutzbar.

GDM ermöglicht die Verwaltung der Hauptanzeige und über VT (Xserver Virtual Terminal) gestarteter Anzeigen. Es ist integriert in andere Anwendungen wie dem Benutzerwechsel und dem GNOME Bildschirmschoner, um mehrere Anzeigen auf der lokalen Konsole über die VT-Schnittstelle zu verwalten. Es kann auch XDMCP-Anzeigen verwalten.

Unabhängig von deren Typ führt GDM folgendes bei der Verwaltung der Anzeige aus: GDM startet den X-Server-Prozess, führt danach mit Systemverwalterrechten das Init-Skript aus, und startet dann auf der Anzeige das Begrüßer-Programm.

Das Begrüßer-Programm wird mit den Rechten des unprivilegierten Benutzers/der Gruppe »gdm« ausgeführt. Die Hauptfunktion des Begrüßer-Programms besteht in der Legitimation des Benutzers. Der Legitimationsprozess wird durch PAM (Pluggable Authentication Modules) gesteuert. Die PAM-Module stellen fest, welche Eingabeaufforderungen (falls vorhanden) dem Benutzer angezeigt werden sollen. Auf einem gewöhnlichen System fordert das Begrüßer-Programm die Eingabe von Benutzername von Passwort zur Legitimation an. Wie auch immer, einige Systeme können auch so konfiguriert sein, dass sie andere Legitimationsmechanismen wie Fingerabdruckerkennung oder SmartCard-Leser nutzen. GDM kann so konfiguriert werden, dass diese Anmeldemethoden parallel zu den Anmeldeerweiterungen des Begrüßers und der Option --enable-split-authentication für ./configure unterstützt werden, oder einmalig über die PAM-Konfiguration des Systems.

Die Smartcard-Erweiterung kann über den GSettings-Schlüssel org.gnome.display-manager.extensions.smartcard.active aktiviert oder deaktiviert werden.

Ebenso ist das für die Fingerabdruckleser-Erweiterung über den Schlüssel org.gnome.display-manager.extensions.fingerprint.active möglich.

GDM und PAM können so konfiguriert werden, dass keinerlei Eingabe erforderlich ist und automatisch ein Benutzer angemeldet und eine Sitzung gestartet wird. Das kann in bestimmten Umgebungen sinnvoll sein, zum Beispiel auf Systemen mit einem einzigen Benutzer oder für öffentlich aufgestellte Rechner.

Zusätzlich zur Legitimation ermöglicht das Begrüßer-Programm dem Benutzer die Auswahl der zu startenden Sitzung und der zu verwendenden Sprache. Sitzungen werden in Dateien mit der Endung ».desktop« definiert. Weitere Informationen finden Sie im Abschnitt »Konfiguration der GDM-Benutzersitzung und Sprache« dieses Dokuments. Per Vorgabe ist GDM so konfiguriert, dass ein Benutzeralbum angezeigt wird, in welchem der Benutzer sein Benutzerkonto durch Anklicken eines Bildes auswählen kann, anstatt seinen Benutzernamen einzugeben. GDM speichert die voreingestellte Sitzung und Sprache des Benutzers in der Datei ~/.dmrc. Falls der Benutzer keine Sitzung oder Sprache in der grafischen Anmeldung auswählt, verwendet GDM diese Vorgabewerte.

Nach der Legitimierung eines Benutzers führt der Dämon das PostLogin-Skript und dann das PreSession-Skript als »root« aus. Danach wird die Benutzersitzung gestartet. Sobald der Benutzer die Sitzung beendet wird das PostSession-Skript als »root« ausgeführt. Diese Skripte werden als Ansatzpunkt für Distributionen und Endanwender zur Verfügung gestellt, um den Ablauf von Sitzungen anzupassen. Zum Beispiel könnten Sie diese Ansatzpunkte zum automatischen Erstellen des persönlichen Ordners und automatischen Löschen bei Abmeldung verwenden. Der Unterschied zwischen dem PostLogin- und dem PreSession-Skript ist, dass das PostLogin-Skript vor dem Aufruf »pam_open_session« gestartet wird, d.h. dort ist der richtige Ort um alles zu erledigen, was vor der Initialisierung der Benutzersitzung erledigt werden soll. Das PreSession-Skript wird nach der Initialisierung aufgerufen.

2.4. Das Panel des Begrüßers

Das GDM-Anmeldefenster zeigt ein Panel auf dem unteren Bildschirmrand, das weitere Funktionen zur Verfügung stellt. Sobald ein Benutzer ausgewählt wurde, ermöglicht das Panel die Wahl einer Sitzung, einer Sprache und einer Tastaturbelegung für den Zeitraum nach der Anmeldung. Der Belegungswähler belegt die Tastatur entsprechend auch bei Eingabe des Passwortes. Das Panel beinhaltet ebenfalls einen Bereich für Statussymbole von Anmeldediensten. Beispiele für Statussymbole sind ein Symbol für den Ladezustand des Akkus und die Aktivierung der Barrierefreiheit. Im Anmeldefenster werden auch Knöpfe zum Herunterfahren oder Neustart des Systems angezeigt.GDM kann nach Wunsch so konfiguriert werden, dass die Knöpfe nicht angezeigt werden. GDM kann auch mittels »PolicyKit« (oder mittels »RBAC« in Oracle Solaris) so eingestellt werden, dass eine Legitimierung für ein Herunterfahren oder für einen Neustart angefordert wird.

Beachten Sie, dass die Merkmale zur Tastaturbelegung nur auf Systemen verfügbar sind, die »libxklavier« unterstützen.

2.5. Barrierefreiheit

GDM unterstützt die »Barrierefreie Anmeldung«, welche den Benutzern die Anmeldung an ihrer Sitzung erlaubt, die nicht auf die übliche Weise den Bildschirm, die Maus oder die Tastatur nutzen können. Barrierefreiheits-(AT)-Technologien wie Bildschirmtastatur, Bildschirmleser, Bildschirmlupe und der AccessX-Tastaturzugriff des X-Servers sind verfügbar. Es ist ebenso möglich, den Text zu vergrößern oder kontrastreiche Symbole oder Bedienelemente zu verwendet, falls dies erforderlich ist. Ziehen Sie den Abschnitt »Konfiguration der Barrierefreiheit« dieses Dokuments zu Rate, um weitere Informationen über die verschiedenen Barrierefreiheitsfunktionen zu erhalten.

Auf einigen Betriebssystemen kann es notwendig sein, dass der Benutzer »gdm« Mitglied der Gruppe »audio« ist, um Barrierefreiheits-Programmen die Audioausgabe (z.B. bei Umwandlung von Text in Sprache) zu ermöglichen.

2.6. Das GDM-Benutzeralbum

Das Benutzeralbum ist die Oberfläche, welche es Benutzern ermöglicht, Ihren Benutzernamen durch Klicken mit der Maus auf ein Foto auszuwählen. Dieses Sondermerkmal kann über den GSettings-Schlüssel »org.gnome.login-screen disable-user-list« ein- oder ausgeschaltet werden. Wenn es ausgeschaltet ist, müssen die Benutzer Ihren vollständigen Benutzernamen eingeben. Wenn es eingeschaltet ist, werden alle lokalen Benutzer angezeigt, die sich am System anmelden dürfen (alle Benutzerkonten, die in der Datei »/etc/passwd« definiert sind und eine gültige Shell und eine genügend große Benutzerkennzahl haben) sowie entfernte Benutzer, die sich vor kurzem angemeldet haben. Die Benutzeralben in GDM 2.20 und ältere versuchen alle entfernten Benutzer anzuzeigen, was zu Problemen in großen Unternehmensnetzen führte.

Im Benutzeralbum werden die Benutzer mit den häufigsten Anmeldungen im oberen Bereich der Liste angezeigt. Dadurch wird sichergestellt, dass die Benutzer mit den häufigsten Anmeldungen ihr Bild schneller finden können.

Das Benutzeralbum unterstützt Suchen-beim-Eingeben, was dynamisch die Auswahl anpasst, während der Benutzer seinen entsprechenden Benutzernamen aus der Liste eingibt. Dies bedeutet, dass ein Benutzer mit einem langem Benutzernamen nur die ersten Buchstaben eingeben muss, um den gewünschten Eintrag in der Liste auszuwählen.

Die von GDM verwendeten Symbole können systemweit vom Systemverwalter installiert oder auch in den persönlichen Ordnern der Benutzer gespeichert werden. Bei systemweiter Installation sollten sich die Symbole im Ordner <share>/pixmaps/faces/ befinden. Der Dateiname sollte dem jeweiligen Benutzernamen entsprechen. Die Bilddateien sollten in einem von GTK+ lesbaren Format vorliegen, wie beispielsweise PNG oder JPEG. Wenn die Symbole systemweit installiert werden, muss der Benutzer »gdm« in diesem Ordner Leserechte haben.

Falls es kein globales Symbol für den Benutzer gibt, sucht GDM im persönlichen Ordner des Benutzers ($HOME) nach der Bilddatei. Zunächst wird nach der Bilddatei des Benutzers in ~/.face gesucht. Falls diese nicht gefunden wird, wird nach ~/.face.icon gesucht. Falls auch diese Datei nicht gefunden wird, wird der in der Datei ~/.gnome2/gdm für »face/picture« gespeicherte Wert verwendet.

Falls ein Benutzer keine definierte Bilddatei hat, verwendet GDM das Symbol »stock_person« des aktuellen GTK+-Themas. Wenn ein solches Bild nicht definiert ist, dann wird ein generisches Benutzerbild verwendet.

Bitte beachten Sie, dass das Laden und Skalieren der Benutzerbilder aus entfernten persönlichen Ordnern viel Zeit in Anspruch nehmen kann. Weil es unpraktikabel ist, Bilder über NIS oder NFS zu laden, versucht GDM keine Bilder aus entfernten persönlichen Ordnern zu laden.

Wenn das Benutzeralbum aktiviert ist, werden auf dem Computer vorhandene gültige Benutzernamen für jeden sichtbar dargestellt. Dies schränkt natürlich in gewissem Maße die Sicherheit ein, weil ein böswilliger Benutzer die gültigen Benutzernamen nicht sehen sollte. In einigen sehr sicherheitskritischen Umgebungen sollte das Benutzeralbum nicht verwendet werden.

2.7. XDMCP

Der GDM-Dienst kann so eingestellt werden, dass auf »X Display Manage Protocol (XDMCP)«-Anfragen von entfernten Anzeigen reagiert wird und diese bearbeitet werden. Nach Vorgabe ist die Unterstützung für XDMCP nicht abgeschaltet, kann aber auf Wunsch aktiviert werden. Wenn GDM mit Unterstützung für »TCP Wrapper« erstellt wurde, so wird der Dienst nur Zugriff von Rechnern zulassen, die im Abschnitt »GDM service« in der Konfigurationsdatei von »TCP Wrappers« festgelegt sind.

GDM enthält verschiedene Mechanismen, die es robuster gegenüber Überlastungsangriffen auf den XDMCP-Dienst machen. Sehr viele Protokollparameter wie Handshake-Zeitabläufe usw. können fein abgestimmt werden. Die vorausgewählte Konfiguration sollte auf den meisten Systemen vernünftig funktionieren.

Laut Voreinstellung lauscht GDM auf XDMCP-Anfragen auf dem für XDMCP üblichen Port 177 und antwortet auf »QUERY«- und »BROADCAST_QUERY«-Anfragen mit einem »WILLING«-Paket an den Initiator.

GDM kann auch konfiguriert werden, um »INDIRECT«-Anfragen zu berücksichtigen und eine Rechnerauswahl dem entfernten Bildschirm zu präsentieren. GDM wird sich die Benutzerwahl merken und folgende Anfragen an den gewählten Verwalter weiterleiten. Es unterstützt ebenfalls eine Erweiterung zum Protokoll, die die Umleitung bei erfolgreicher Verbindung vergisst. Diese Erweiterung wird nur unterstützt, wenn beide Dienste durch GDM bereit gestellt werden. Sie ist transparent und wird von XDM oder anderen XDMCP-Diensten ignoriert.

Falls XDMCP nicht zu funktionieren scheint, stellen Sie bitte sicher, dass alle betreffenden Rechner in der Datei /etc/hosts benannt sind.

Informationen über Sicherheitsaspekte bei der Verwendung von XDMCP finden Sie im Abschnitt »Sicherheit«.

2.8. Protokollführung

Zur Fehler- und Statusprotokollierung wird »syslog« von GDM verwendet. Es können auch Diagnosemeldungen protokolliert werden, die zur Fehlersuche nützlich sein können, falls GDM nicht richtig funktioniert. Die Diagnoseausgabe kann durch Setzen des Schlüssels »debug/Enable« auf »wahr« in der Datei <etc>/gdm/custom.conf aktiviert werden.

Die Ausgaben verschiedenster XServer werden im GDM-Protokollordner abgelegt, welcher normalerweise <var>/log/gdm/ ist. Jede Meldung des Xserver wird in einer Datei abgespeichert, die mit dem Anzeigewert <display>.log verknüpft ist.

Die Sitzungsausgabe wird durch den GDM-Dienst in die Datei ~/$XDG_CACHE_HOME/gdm/session.log weitergeleitet. Das ist üblicherweise die Datei ~/.cache/gdm/session.log. Die Datei wird bei jeder Anmeldung neu überschrieben, was bedeutet, dass durch Ab- und Anmelden mit GDM mit dem gleichem Benutzernamen Nachrichten aus der vorhergehenden Sitzung verloren gehen.

Beachten Sie: Falls GDM aus irgendwelchen Gründen diese Datei nicht erstellen kann, wird eine Fallback-Datei namens ~/$XDG_CACHE_HOME/gdm/session.log.XXXXXXXX angelegt, wobei XXXXXXXX aus zufällig erzeugten Zeichen generiert wird.

2.9. Schneller Benutzerwechsel

GDM ermöglicht es, dass mehrere Benutzer gleichzeitig angemeldet sind. Sobald ein Benutzer angemeldet ist, können sich weitere Benutzer über den Benutzerwechsler, über das GNOME-Panel oder über den Knopf »Benutzer wechseln« im Dialog des Bildschirmschoners anmelden. Die aktive Sitzung kann beliebig mit dem selben Verfahren gewählt werden. Beachten Sie, dass einige Distributionen den Benutzerwechsler nicht per Vorgabe zum Panel hinzufügen. Er kann über das Panelmenü jederzeit hinzugefügt werden.

Beachten Sie, dass diese Funktion nur auf Systemen verfügbar ist, die »Virtuelle Terminals« unterstützen. Falls diese nicht unterstütz werden, arbeitet diese Funktion nicht.