Comment savoir si mon mot de passe est défini?

19

J'utilise ce serveur depuis quelques mois. Au début, j'ai envoyé à l'administrateur ma clé publique ssh, et il a créé le compte pour moi, et je n'ai utilisé que la clé ssh pour me connecter. Je n'avais certainement pas de mot de passe au début.

Depuis lors, je peux ou non avoir créé un mot de passe en utilisant passwd. En ce moment, si j'utilise, passwdje vois cela.

$ passwd
Changing password for user myusername.
Changing password for myusername.
(current) UNIX password:

Bien que cela semble suggérer que j'ai un mot de passe, je n'ai aucun souvenir de l'avoir fait.

Comment savoir avec certitude si mon mot de passe est défini?

EDIT:
Je ne peux pas me connecter ni changer de mot de passe, car je ne sais pas quel est le mot de passe (le mot de passe vide ne fonctionne pas). La distribution est Fedora version 20 (Heisenbug).

chat de plafond
la source
Essayez de vous connecter sans mot de passe (et sans votre clé privée ssh bien sûr).
didierc
Je ne peux pas me connecter car je ne connais pas le mot de passe et le blanc ne fonctionne pas. J'ai ajouté cette information dans la question d'origine.
chat de plafond
1
Sur une console de connexion, un mot de passe vide est identique à aucun mot de passe.
didierc
Vous obtiendrez cette invite de mot de passe même si aucun mot de passe n'est configuré pour le compte. Si aucun mot de passe n'est configuré, passwdse plaindra d'un mauvais mot de passe, peu importe ce que vous tapez.
Gilles 'SO- arrête d'être méchant'
J'ai vérifié que sur un Fedora vanilla 20 utilisant des mots de passe cachés locaux, passwdne demandera pas votre mot de passe actuel si vous n'en avez pas. Une autre façon de vérifier est de taper su myusername; s'il n'y a pas de mot de passe, il n'en demandera pas. Mais tout cela peut être annulé par l'administrateur système, par exemple en supprimant l' nullokoption des pam_unixentrées dans /etc/pam.d/*, auquel cas un non-administrateur ne peut pas dire qui a des mots de passe et qui n'en a pas, sauf peut-être en faisant des tests de synchronisation.
Mark Plotnick

Réponses:

31

La meilleure façon est d'utiliser la commande suivante:

passwd --status username

De l'homme passwd :

Affiche les informations sur l'état du compte. Les informations d'état se composent de 7 champs. Le premier champ est le nom de connexion de l'utilisateur. Le deuxième champ indique si le compte d'utilisateur a un mot de passe verrouillé (L), n'a pas de mot de passe (NP) ou a un mot de passe utilisable (P). Le troisième champ donne la date du dernier changement de mot de passe. Les quatre champs suivants sont l'âge minimum, l'âge maximum, la période d'avertissement et la période d'inactivité du mot de passe. Ces âges sont exprimés en jours.

Donc, si le deuxième champ de sortie est NP, cet utilisateur n'a pas de mot de passe défini.

jherran
la source
J'ai eu$ passwd --status Only root can do that.
plafond chat le
Dans ce cas, essayez sudo passwd username --status.
jherran
J'ai eu $ sudo passwd myusername --status [sudo] password for myusername:mais comme je ne connais pas mon mot de passe, je ne peux pas continuer.
chat de plafond
J'ai testé ma commande d'origine et devrait fonctionner correctement avec un utilisateur nouvellement créé sans perms spéciales: $ passwd --status testretours test P 02/15/2015 0 99999 7 -1.
jherran
Bizarre. Je me demande si l'administrateur l'a configuré de manière non standard.
chat de plafond
4

Vous pouvez tester cela de 2 manières simples.

  1. Juste après avoir changé le mot de passe, en tant que type racine login , cela vous amènera à une invite de connexion / mot de passe.

  2. Selon les chances de votre système, vous utilisez des mots de passe cachés. Le fichier correspondant se trouve dans/etc/shawdow vous pouvez regarder dans ce fichier pour voir si votre compte a des modifications.

Voici un exemple avec un compte sans jeu de mots de passe:

postgres: :16462:0:99999:7:::

Voici à quoi cela pourrait ressembler pour un utilisateur avec un mot de passe:

dustin:$6$TQ8e8o92$T9KWfcEVeIpDytW/zSAZzM4512wd/DiiuaYwrYWheH3LYpOsISdRxrCLvPqJZZ66QqdetmaV0ALQohx8nQPFKK0:16425:0:99999:7:::

Remarquez entre le : :mot de passe crypté et pour le compte postgres il n'avait rien

Dustin Hargrove
la source
Pour # 1, je ne peux pas changer de mot de passe, car je ne sais pas quel est le mot de passe. Si je mets un blanc, ça dit passwd: Authentication token manipulation error. Pour le n ° 2, je n'en ai pas /etc/shawdow. Il y en a un /etc/shadow, mais l'autorisation est 000. (je ne sais pas si cela importe) J'ai oublié de mentionner que j'ai la version 20 de Fedora (Heisenbug). Aurait probablement dû mettre ces informations dans la question d'origine.
chat de plafond
Votre erreur de jeton a tendance à provenir de mauvaises autorisations. Êtes-vous en mode utilisateur unique? Lorsque vous avez démarré, était-ce un démarrage normal? Aussi pour vérifier le type juste "monter", vous voulez vous assurer que tout est monté en rw (lecture et écriture)
Dustin Hargrove
C'est aussi une mauvaise autorisation, quelle distribution est-ce?
Dustin Hargrove
Je ne pense pas que le serveur soit en mode mono-utilisateur. Je peux toujours me connecter en utilisant les informations d'identification ssh et je peux voir d'autres utilisateurs avec who. Tout ce qui est répertorié dans mountest répertorié comme rw. Distro est la version 20 de Fedora (Heisenbug).
chat de plafond
1

Essayez d'utiliser les éléments suivants:

passwd -S

À partir de la page de manuel passwd (1), nous lisons:

-S Signaler l'état du mot de passe sur le compte nommé. La première partie indique si le compte utilisateur est verrouillé (LK), n'a pas de mot de passe (NP) ou a un mot de passe existant ou verrouillé (PS). La deuxième partie donne la date du dernier changement de mot de passe. Les parties suivantes sont l'âge minimum, l'âge maximum, la période d'avertissement et la période d'inactivité du mot de passe.

trikelef
la source
0

Vous voudrez peut-être voir le fichier / etc / passwd. Le deuxième champ de votre utilisateur indique le mot de passe. S'il n'y a rien, vous n'avez peut-être pas de mot de passe pour votre connexion. D'un autre côté, si vous avez un x dans ce champ, un mot de passe lui est associé et il peut se trouver dans le fichier / etc / shadow

dgsleeps
la source
Merci! Il y a un x. Je suppose que j'ai un mot de passe. Il n'y a cependant pas de /etc/shadowfichier.
chat de plafond
1
@ceilingcat Si vous voyez un x, cela ne vous dit pas si un mot de passe est défini. Vous devez regarder dans /etc/shadow(ce qui nécessite d'être root).
Gilles 'SO- arrête d'être méchant'