Vista general

2.1. Introducció

El gestor de pantalla del GNOME (GDM) és un gestor de pantalla que implementa totes les funcions destacades que fan falta per gestionar pantalles locals i remotes. El GDM es va escriure des de zero i no conté cap codi de l'XDM o de l'X Consortium.

Tingueu en compte que el GDM es pot configurar i que molts paràmetres de configuració poden afectar a la seguretat. En aquest document es ressalten els temes en que s'ha de vigilar.

Tingueu en compte que alguns sistemes operatius configuren el GDM per comportar-se de forma diferent als valors per defecte que es descriuen en aquest document. Si el GDM no sembla que es comporta com s'explica aquí, comproveu si alguna configuració relacionada és diferent a la descrita aquí.

For further information about GDM, refer to the project website at http://wiki.gnome.org/Projects/GDM.

Per a qüestions o consultes sobre el GDM, consulteu la llista de correu

. Aquesta llista s'arxiva i és un bon recurs a comprovar per trobar respostes a les preguntes freqüents. Els arxius de la llista es troben a http://mail.gnome.org/archives/gdm-list/ i té una utilitat de cerca per cercar missatges amb paraules clau.

Envieu qualsevol informe d'error o sol·licituds de millora a la categoria «gdm» al http://bugzilla.gnome.org.

2.2. Estabilitat de la interfície

El GDM 2.20 i les versions anteriors admetien configuracions d'interfície estables. Tot i així, es va reescriure el codi totalment pel GDM 2.22 i no és del tot compatible amb les versions anteriors. Això és en part perquè ara funciona una mica diferent, de manera que algunes opcions no tenen cap sentit, entre d'altres coses perquè algunes opcions mai van tenir sentit i també perquè algunes funcions encara no s'han tornat a implementar.

Les interfícies que encara són compatibles de manera estable inclouen els scripts Init, PreSession, PostSession, PostLogin i Xsession. Algunes opcions de configuració del dimoni en el fitxer <etc>/gdm/custom.conf encara són compatibles. També encara són compatibles el ~/.dmrc i les ubicacions del navegador d'imatges.

El GDM 2.20 i les versions anteriors permetien gestionar diverses pantalles amb diferents targetes gràfiques, com s'utilitza en entorns de terminal de servidor, l'entrada dins d'una finestra mitjançant un programa com l'Xnest o el Xephyr, el programa gdmsetup, els temes de rebedor basats en XML i la capacitat d'executar el seleccionador XDMCP des de la pantalla d'entrada. Aquestes funcions no s'han tornat a afegir durant la reescriptura de la versió 2.22.

2.3. Descripció funcional

El GDM és el responsable de la gestió de les pantalles del sistema. Això inclou l'autenticació d'usuaris, l'inici de la sessió de l'usuari i la finalització d'aquesta. Les opcions de configuració del GDM estan descrites a la secció del document «Configuració del GDM». El GDM també és accessible per als usuaris amb discapacitats.

El GDM proporciona la capacitat de gestionar la consola principal de la pantalla i les pantalles executades mitjançant el VT. S'integra amb altres programes, com ara la miniaplicació del commutador d'usuari ràpid (FUSA) i l'estalvi de pantalla (gnome-screensaver) per gestionar diverses pantalles a la consola mitjançant la interfície del terminal virtual (VT) del servidor d'X. També pot gestionar pantalles XDMCP.

Independentment del tipus de pantalla, el GDM realitzarà el següent quan gestioni la pantalla: iniciarà un procés del servidor d'X, seguidament executarà l'script Init com a usuari primari i iniciarà el programa rebedor a la pantalla.

El programa rebedor s'executa amb l'usuari/grup sense privilegis «gdm». Aquest usuari i grup són descrits a la secció «Seguretat» d'aquest document. Les funcions principals del programa rebedor són proporcionar un mecanisme per seleccionar un compte per entrar i per conduir el diàleg entre l'usuari i el sistema en autenticar-se al compte. El procés d'autenticació és conduit pel mòduls de connectors d'autenticació (Pluggable Authentication Modules o PAM). Els mòduls del PAM determinen quines preguntes (si n'hi ha) es mostren a l'usuari per autenticar-lo. En sistemes convencionals, el programa rebedor sol·licitarà un nom d'usuari i una contrasenya per autenticar. Tot i això, alguns sistemes es poden configurar per utilitzar sistemes alternatius com ara l'empremta dactilar o lectors de targetes SmartCard. El GDM es pot configurar per admetre aquestes alternatives en paral·lel amb extensions del rebedor d'entrada i l'opció --enable-split-authentication./configure o només una a la vegada mitjançant el sistema de configuració PAM.

L'extensió de targetes intel·ligents és pot habilitar o inhabilitar mitjançant la clau del gsettings org.gnome.display-manager.extensions.smartcard.active.

Així mateix, l'extensió d'empremtes dactilars es pot habilitar o inhabilitar amb la clau del gsettings org.gnome.display-manager.extensions.fingerprint.active.

Es pot configurar el GDM i el PAM per a que no necessitin cap introducció, el que faria que el GDM iniciés automàticament una sessió, fet que pot ser útil en alguns entorns, com en un sistema d'un sol usuari o en un kiosk.

A més de l'autenticació, el rebedor permet a l'usuari seleccionar quina sessió vol iniciar i quin idioma vol utilitzar. Les sessions es defineixen amb fitxers que finalitzen amb el sufix .desktop i en podeu obtenir més informació a la secció «Configuració de la sessió d'usuari i l'idioma» d'aquest document. Per defecte, el GDM està configurat per mostrar un navegador de cares de manera que l'usuari pugui seleccionar el seu compte d'usuari fent clic a una imatge enlloc d'haver d'introduir el seu nom d'usuari. El GDM manté la informació de la sessió i de l'idioma per defecte de l'usuari en el fitxer ~/.dmrc i utilitzarà aquests valors si l'usuari no selecciona una sessió o idioma a la interfície gràfica d'usuari d'entrada.

Després d'autenticar un usuari, el dimoni executa primer l'script PostLogin i després l'script PreSession com a usuari primari. Després de l'execució d'aquests scripts, s'iniciarà la sessió de l'usuari. Quan l'usuari surti de la sessió, s'executarà l'script PostSession, de nou com a usuari primari. Aquests scripts estan pensats com a punts de personalització, tan per les distribucions com pels usuaris finals, per personalitzar com es gestionen les sessions. Per exemple, utilitzant aquests punts de personalització podeu fer que una màquina creï el directori d'usuari $HOME sota demanda i el suprimeixi en sortir. La diferència entre els scripts PostLogin i PreSession és que l'script PostLogin s'executa abans de cridar el mètode pam_open_session, de manera que és el moment ideal per fer qualsevol cosa que s'hauria d'executar abans d'iniciar la sessió d'usuari. L'script PreSession es crida després d'iniciar la sessió.

2.4. El quadre rebedor

El programa rebedor del GDM mostra un quadre acoblat a la part inferior de la pantalla que proporciona funcions addicionals. Quan es selecciona un usuari, el quadre permet seleccionar la sessió, l'idioma i la distribució del teclat que es vol utilitzar durant la sessió. El selector de la distribució del teclat també canvia la distribució del teclat quan s'introdueix la contrasenya. El quadre també conté una àrea on els serveis d'entrada poden deixar icones d'estat. Alguns exemples d'icones d'estat poden ser una icona de bateria amb la utilització actual de bateria i una icona per habilitar les funcions d'accessibilitat. El programa rebedor també proporciona botons que permeten a l'usuari aturar o tornar a iniciar el sistema. És possible configurar el GDM perquè no mostri els botons d'apagada i reinici. També es pot configurar mitjançant el PolicyKit (o mitjançant RBAC en Oracle Solaris) per sol·licitar que l'usuari tingui l'autorització necessària abans d'acceptar la sol·licitud d'apagada o reinici.

Tingueu present que les característiques de la disposició de teclat només són disponibles en els sistemes que implementen les libxklavier.

2.5. Accessibilitat

El GDM admet l'«Entrada accessible», que permet als usuaris entrar a la sessió d'escriptori fins i tot si no poden utilitzar fàcilment la pantalla, el ratolí o el teclat de la manera habitual. Hi ha disponibles les funcions de la tecnologia assistiva (AT) com ara el teclat en pantalla, el lector de pantalla, l'ampliador de pantalla i l'accessibilitat del teclat del servidor d'X AccessX. Si és necessari, també és pot canviar el text per fer-lo més gran o mostrar icones i controls de contrast alt. Per a més informació sobre la configuració de les funcions d'accessibilitat, vegeu la secció «Configuració de l'accessibilitat» d'aquest document.

En alguns sistemes operatius és necessari assegurar-se que l'usuari del GDM és membre del grup «audio» per als programes de tecnologies assistives que utilitzen la sortida d'àudio (com ara el text-a-veu) per funcionar.

2.6. El navegador de cares del GDM

El navegador de cares és la interfície que permet als usuaris seleccionar el seu nom d'usuari en fer clic a una imatge. Es pot habilitar mitjançant la clau del GSettings org.gnome.login-screen disable-user-list i està habilitada de forma predeterminada. Si està inhabilitada, els usuaris han d'introduir el nom d'usuari complet a mà. Si està habilitat, es mostren tots els usuaris locals que hi ha disponibles per entrar al sistema (tots els comptes d'usuari definits al fitxer /etc/passwd que tenen un intèrpret d'ordres vàlid i un UID suficientment alt) i els usuaris remots que han entrat recentment. El navegador de cares del GDM 2.20 i versions anteriors intentava mostrar tots els usuaris remots, fet que provocava problemes de rendiment en entorns d'empresa grans.

El navegador de cares està configurat per mostrar els usuaris que entren amb més freqüència a la part superior de la llista. D'aquesta manera es facilita que els usuaris que entrin sovint puguin trobar ràpidament la seva imatge d'entrada.

El navegador d'imatges admet la «cerca en teclejar» que canvia dinàmicament la selecció de cares mentre l'usuari introdueix el nom d'usuari corresponent a la llista. Això significa que un usuari amb un nom d'usuari llarg només haurà d'introduir els primers caràcters del nom d'usuari abans que l'element correcte de la llista estigui seleccionat.

Les icones utilitzades pel GDM es poden instal·lar globalment per l'administrador del sistema o es poden ubicar al directori d'usuari. Si s'instal·len globalment haurien d'estar al directori <share>/pixmaps/faces/ i el nom de fitxer hauria de ser el nom de l'usuari. Els fitxers d'imatge de cara haurien de ser una imatge estàndard que el GTK+ pugui llegir, com ara els formats PNG o JPEG. L'usuari del GDM ha de poder llegir les icones de cara ubicades al directori global de cares.

Si no hi ha cap icona global per l'usuari, el GDM cercarà el fitxer d'imatge al directori de l'usuari. El GDM primer cercarà la imatge de cara de l'usuari a ~/.face. Si no el troba, ho provarà a ~/.face.icon. Si encara no el troba, utilitzarà el valor definit per «face/picture=» al fitxer ~/.gnome2/gdm.

Si un usuari no ha definit cap imatge de cara, el GDM utilitzarà la icona «stock_person» definida en el tema actual del GTK+. Si no està definida, llavors s'utilitzarà una imatge de cara genèrica.

Tingueu en compte que la càrrega i l'escalat d'icones d'imatge ubicades a directoris d'usuari remots pot tardar molt. Com que no és pràctic carregar imatges mitjançant NIS o NFS, el GDM no intentarà carregar imatges de cara des de directoris d'usuari remots.

Quan el navegador està habilitat, es mostren els noms d'usuari vàlids de l'ordinador a tothom. Si l'XDMCP està habilitat, llavors els noms d'usuari es mostren a usuaris remots. Això, per suposat, limita la seguretat d'alguna manera ja que un usuari malintencionat no ha d'endevinar possibles noms d'usuari vàlids. En alguns entorns molt restrictius el navegador de cares pot no ser apropiat.

2.7. XDMCP

El dimoni del GDM es pot configurar per escoltar i gestionar les sol·licituds del X Display Manage Protocol (XDMCP) de les pantalles remotes. Per defecte la compatibilitat de l'XDMCP està inhabilitada, però es pot habilitar si es vol. Si el GDM està construït amb compatibilitat de l'embolcall TCP, llavors el dimoni només permetrà l'accés a amfitrions especificats a la secció de servei del GDM al fitxer de configuració de l'embolcall TCP.

El GDM inclou diverses mesures per fer-lo més resistent als atacs de denegació de servei al servei XDMCP. Molts dels paràmetres del protocol (temps d'espera de confirmació de connexió, etc.) es poden ajustar finament. La configuració estàndard hauria de funcionar bé en la majoria de sistemes.

Per defecte el GDM escolta les sol·licituds XDMCP al port UDP normal que s'utilitza per l'XDMCP, el port 177, i respondrà a les sol·licituds QUERY i BROADCAST_QUERY enviant un paquet WILLING a la font de la sol·licitud.

El GDM també es pot configurar perquè respecti les sol·licituds INDIRECT i mostri un seleccionador d'amfitrió a la pantalla remota. El GDM recordarà l'opció de l'usuari i reenviarà les següents sol·licituds al gestor seleccionat. El GDM també admet una extensió al protocol per oblidar el redireccionament un cop la connexió de l'usuari sigui satisfactòria. Aquesta extensió només és compatible si el dos dimonis són GDM. És transparent i l'ignorarà l'XDM o els altres dimonis que implementen l'XDMCP.

Si l'XDMCP sembla que no funciona, assegureu-vos que tots els ordinadors estan especificats a /etc/hosts.

Consulteu la secció «Seguretat» per obtenir més informació sobre les notes de seguretat quan s'utilitza l'XDMCP.

2.8. Registre

El GDM utilitza el registre del sistema per registrar els errors i l'estat. També pot registrar informació de depuració, la qual pot ser útil per descobrir problemes si el GDM no funciona correctament. Es pot habilitar la sortida de depuració si es canvia la clau «debug/Enable» a «true» al fitxer <etc>/gdm/custom.conf.

La sortida dels diversos servidors X s'emmagatzema al directori de registre del GDM, que normalment és el <var>/log/gdm/. Tots els missatges del servidor d'X es desen a un fitxer associat amb el valor de la pantalla, <display>.log.

La sortida de la sessió és conduïda a través del dimoni GDM al fitxer ~/$XDG_CACHE_HOME/gdm/session.log que habitualment expandeix a ~/.cache/gdm/session.log. Se sobreescriu el fitxer a cada entrada, de manera que en sortir i tornar a entrar amb el mateix usuari mitjançant el GDM provocarà que es perdin els missatges de la sessió anterior.

Si pel que sigui el GDM no pot crear aquest fitxer, es crearà un fitxer alternatiu anomenat ~/$XDG_CACHE_HOME/gdm/session.log.XXXXXXXX on les XXXXXXXX seran alguns caràcters aleatoris.

2.9. Com commutar d'usuari ràpidament

El GDM permet a diversos usuaris entrar a la mateixa vegada. Després que un usuari hagi entrat, poden entrar més usuaris mitjançant el commutador d'usuari al quadre del GNOME o des del botó «Commuta l'usuari» al diàleg de bloqueig de la pantalla de l'estalvi de pantalla del GNOME. La sessió activa es pot canviar de nou utilitzant el mateix mecanisme. Tingueu en compte que algunes distribucions no afegeixen el commutador d'usuari a la configuració per defecte del quadre. El podeu afegir a través del menú contextual del quadre.

Tingueu present que aquesta característica només és disponible en els sistemes que implementen Terminals Virtuals. En aquest cas, aquesta característica no funcionarà.