web-dev-qa-db-fra.com

Que signifie * et! au deuxième champ de / etc / shadow?

Autant que je sache, le deuxième champ de/etc/shadow est le mot de passe crypté de l'utilisateur. Mais certains utilisateurs, par exemple daemon utilisateur a * dans le champ, dans mon environnement (Ubuntu 12.04) root a ! dans le champ.

Je suppose que ! signifie que "tout le mot de passe est invalide, vous ne pouvez pas vous connecter avec cet utilisateur". Mais je n'ai pas pu trouver le document pour cela.

Que signifient * et ! dans un fichier shadow?

18
ironsand

'!' et '!!' signifie essentiellement la même chose, mais différents outils utilisent l'un ou l'autre, passwd -l par exemple, utilise une paire de points d'exclamation. usermod -L par contre n'en utilise qu'un.

Généralement, les comptes avec '*' n'ont jamais eu de mot de passe (comme dans, ils ont toujours été désactivés pour la connexion). Ceci est différent d'un compte avec aucune entrée de hachage de mot de passe, auquel cas aucun mot de passe n'est nécessaire (et souvent même ne sera pas demandé) ce qui est presque toujours MAUVAIS!.

S'il s'agit d'un hachage non valide (que tous les '*', '!' Et '!!' sont), il verrouille le compte et empêche la connexion à ce compte. Souvent, cela est favorisé en définissant le shell du compte sur quelque chose comme/bin/false ou/sbin/nologin dans le fichier/etc/passwd

Vous constaterez souvent que si le compte d'un utilisateur est verrouillé après avoir déjà défini un mot de passe valide, des points d'exclamation lui sont préfixés dans le hachage de mot de passe. Ainsi, lorsque le compte est déverrouillé, le mot de passe reprend son travail.

20
Sirex