8.4. Bases de dades d'usuaris i de grups
La llista d'usuaris s'emmagatzema normalment al fitxer /etc/passwd
, mentre que el fitxer /etc/shadow
emmagatzema les contrasenyes xifrades («hashed»). Tots dos són fitxers de text, en un format relativament senzill, que es poden llegir i modificar amb un editor de text. Cada usuari apareix en una línia amb diversos camps separats per dos punts (“:
”).
8.4.1. Llista d'usuaris: /etc/passwd
Aquesta és la llista de camps del fitxer /etc/passwd
:
nom d'usuari, per exemple rhertzog
;
password
: és una contrasenya xifrada per una funció d'un sol sentit (crypt
), que es basa en DES
, MD5
, SHA-256
o SHA-512
. El valor especial “x
” indica que la contrasenya encriptada s'emmagatzema a /etc/shadow
;
uid
: número únic que identifica cada usuari;
gid
: número únic per al grup principal de l'usuari (Debian crea per defecte un grup específic per a cada usuari);
GECOS
: camp de dades que normalment conté el nom complet de l'usuari;
directori d'inici de sessió, assignat a l'usuari per a l'emmagatzematge dels seus fitxers personals (la variable d'entorn $HOME
generalment apunta aquí);
programa a executar en iniciar la sessió. Normalment es tracta d'un intèrpret d'ordres («shell»), que dóna llibertat a l'usuari. Si especifiqueu /bin/false
(que no fa res i retorna el control immediatament), l'usuari no podrà iniciar la sessió.
8.4.2. El fitxer de les contrasenyes ocultes i encriptades: /etc/shadow
El fitxer /etc/shadow
conté els següents camps:
Es poden fer expirar les contrasenyes utilitzant aquest fitxer o establint el moment fins que el compte quedi desactivat després que la contrasenya hagi expirat.
8.4.3. Modificar un compte o contrasenya ja existents
Les següents ordres permeten la modificació de la informació emmagatzemada en camps específics de les bases de dades d'usuari: passwd
permet a un usuari normal canviar la seva contrasenya, que al seu torn, actualitza el fitxer /etc/shadow
(chpasswd
permet als administradors actualitzar de cop les contrasenyes d'una llista d'usuaris); chfn
(«CHange Full Name» en anglès o “Canvia el nom complet”), reservat per al superusuari («root»), modifica el camp GECOS
. chsh
(de l'anglès «CHange SHell») permet a l'usuari canviar el seu intèrpret d'entrada; no obstant això, les opcions disponibles es limitaran a les llistades a /etc/shells
; l'administrador, d'altra banda, no està vinculat per aquesta restricció i pot establir la «shell» a qualsevol programa de la seva elecció.
Finalment, l'ordre chage
(de l'anglès «CHange AGE») permet a l'administrador canviar la configuració del venciment de la contrasenya (l'opció -l usuari
llistarà la configuració actual). També podeu forçar l'expiració d'una contrasenya utilitzant l'ordre passwd -e usuari
, que requerirà que l'usuari canviï la seva contrasenya la pròxima vegada que iniciï sessió.
A més d'aquestes eines, l'ordre usermod
permet modificar tots els detalls esmentats anteriorment.
8.4.4. Desactivar un compte
Podeu trobar-vos amb la necessitat de “desactivar un compte” (bloquejar un usuari), com a mesura disciplinària, per a una investigació, o simplement en el cas d'una absència prolongada o definitiva d'un usuari. Un compte inhabilitat significa que l'usuari no pot entrar o accedir a la màquina. El compte roman intacte a la màquina i no se suprimeix cap fitxer o dada; simplement és inaccessible. Això s'aconsegueix utilitzant l'ordre passwd -l usuari
(«lock» o bloquejar). Tornar a activar el compte es fa de manera similar, amb l'opció -u
(«unlock» o desbloquejar). Això, però, només impedeix que l'usuari iniciï la sessió amb contrasenya. L'usuari encara pot accedir al sistema mitjançant una clau SSH (si està configurat). Per evitar aquesta possibilitat, també heu de fer expirar el compte fent servir chage -E 1 usuari
o usermod -e 1 usuari
(donant un valor de -1
en qualsevol d'aquestes ordres es fixarà la data de caducitat a mai
). Per a desactivar (temporalment) tots els comptes d'usuari només cal crear el fitxer /etc/nologin
.
Podeu desactivar un compte d'usuari no només bloquejant-lo com s'ha descrit anteriorment, sinó també canviant el seu intèrpret d'ordres d'inici de sessió predeterminat (chsh -s intèrpret usuari
). Amb el primer paràmetre a /usr/sbin/nologin
, un usuari obté un missatge cortès informant que no és possible l'inici de sessió, mentre que /bin/false
només acaba al temps que retorna false
. No hi ha manera per a restaurar l'intèrpret d'ordres anterior. Heu d'obtenir i mantenir aquesta informació abans de canviar la configuració. Aquests intèrprets d'ordres s'utilitzen sovint per a usuaris del sistema que no requereixen cap necessitat d'inici de sessió.
8.4.5. Llista de grups: /etc/group
Els grups estan llistats al fitxer /etc/group
, una simple base de dades en text pla en un format similar al del fitxer /etc/passwd
, amb els següents camps:
nom del grup;
gid
: número únic d'identificació de grup;
llista de membres: llista de noms d'usuaris que són membres del grup, separats per comes.
Les ordres addgroup
i delgroup
afegeixen o suprimeixen un grup, respectivament. L'ordre groupmod
modifica la informació d'un grup (el seu gid
o identificador). L'ordre gpasswd grup
canvia la contrasenya del grup, mentre que l'ordre gpasswd -rgrup
el suprimeix.