Impossible de déverrouiller le compte utilisateur linux

13

J'ai une machine Linux (OpenSuSE 11.3) avec un compte d'utilisateur verrouillé. Je me suis connecté en tant que compte root pour le déverrouiller avec passwd -u <user>mais je reçois un message 'Cannot unlock the password for <user>!'

J'ai essayé de changer le mot de passe pour quelque chose de nouveau via passwd, mais la tentative de connexion avec ce nouveau mot de passe donne toujours le message d'erreur 'le compte a été verrouillé en raison de x tentatives infructueuses'.

passwd -S donne les drapeaux d’état «PS» pour le compte. Je ne reconnais pas "S", mais en tout cas, il ne montre ni "L" (verrouillé) ni "NP" (sans mot de passe). /etc/shadow ne contient pas de caractères étranges comme ! au début de la ligne pour ce compte. L’observation dans l’application de gestion de cette distribution (YaST) semble montrer qu’elle n'est pas verrouillé (le bouton "désactiver le compte" n'est pas coché).

Où d'autre dois-je vérifier pour voir comment et pourquoi ce compte refuse de déverrouiller / de se connecter?

jam
la source
Quelle distribution et version?
depquid
Cette machine est OpenSuSE 11.3
jam

Réponses:

17

J'ai eu ce problème aujourd'hui. C'était la solution.

pam_tally --user = --reset

Exemple

pam_tally --user=cyberninja --reset

J'espère que ça aidera quelqu'un.


J'ai trouvé ce post à la recherche d'une réponse à cette question précise. J'ai eu la même erreur, mais sur un serveur SLES 11 SP2. Mon collègue a réinitialisé mon mot de passe et a essayé de déverrouiller mon compte avec la commande passwd -u. Un de mes autres collègues a dit que j'avais besoin d'un compte clair dans PAM et m'a donné l'ordre. Ce que j'ai posté ci-dessus.


Mettre à jour,

J'ai maintenant un correctif qui empêche que cela se reproduise. Il semble qu'il y ait deux fichiers PAM en conflit. Ces fichiers sont; /etc/pam.d/login et /etc/pam.d/sshd. Les deux fichiers ont cette ligne.

auth requis pam_tally.so onerr = fail deny = 3

Vous devez vous engager, cette ligne à partir de l’un des fichiers énumérés ci-dessus. Nous avons commenté la ligne dans le /etc/pam.d/sshd fichier.

Cela fait, vous ne devriez plus jamais avoir ce problème.

Cyberninja
la source
Bienvenue chez SU. Essayez d’expliquer un peu plus votre problème et un peu plus votre réponse si vous le pouvez.
Sickest
Ok Sickest, je vais mettre à jour mon post.
Cyberninja
Travaillé dans mon serveur RHEL6 aussi. la commande était cependant "pam_tally2".
SidJ
Vérifiez la configuration de PAM! Dans mon PAM, il utilisait le fichier /var/log/failllog, mais pam_tally2 commande par défaut utilise /var/log/tallylog, utilisateur ainsi signalé comme non verrouillé. Vous pouvez utiliser pam_tally2 --file /var/log/faillog.
Marki555
8

Je rencontre le même problème aujourd'hui avec un compte utilisateur sur un serveur exécutant SUSE Linux Enterprise Server 11 SP2, même après la réinitialisation du mot de passe et la modification de l'âge sur 0 (chage -d 0 utilisateur)

[me@mordor ~]$ ssh frodo@mordor

Welcome to SUSE Linux Enterprise Server 11 SP2  (x86_64) - Kernel \r (\l).


Account locked due to 29 failed logins
Password:
Account locked due to 30 failed logins
Password:

Avec le même escénario décrit par @Jam dans son message d'origine. Rien ne montre le compte verrouillé ni sur "/ etc / passwd" ni sur "/ etc / shadow". Des commandes telles que "passwd -S -a | grep frodo" indiquaient que l'ID n'était pas verrouillé (LK)

me@mordor:~> sudo passwd -S -a | grep frodo
frodo PS 01/01/1970 1 90 7 180

Également " pam_tally2 "montre que l'ID n'était PAS verrouillé:

me@mordor:~> sudo /sbin/pam_tally2 --user frodo
Login           Failures Latest failure     From
frodo             0

Mais le problème était en fait avec " pam_tally "

me@mordor:~> sudo /sbin/pam_tally --user frodo
User frodo    (500)   has 32

Après avoir déverrouillé le mot de passe de l'ID utilisateur, j'ai pu me connecter avec les nouvelles informations d'identification et éviter le message d'erreur.

me@mordor:~> sudo /sbin/pam_tally --user frodo --reset
User frodo    (500)   had 32
me@mordor:~> sudo /sbin/pam_tally --user frodo
User frodo    (500)   has 0

J'espère que cela aidera quelqu'un d'autre à éviter de se casser la tête, comme je l'avais fait au cours de la dernière heure ... Alors, pour faire une histoire courte, soyez conscient de vérifier les deux " pam_tally " et " pam_tally2 "lorsque le compte est bloqué dans SuSE !!

Cordialement, Hernan.

3LRusS1T0
la source
Merci beaucoup :) Quelle est la différence entre pam_tally et pam_tally2?
mwfearnley
Vérifiez la configuration de PAM! Dans mon PAM, il utilisait le fichier /var/log/failllog, mais pam_tally2 commande par défaut utilise /var/log/tallylog, utilisateur déclaré à tort comme non verrouillé. Vous pouvez utiliser pam_tally2 --file /var/log/faillog.
Marki555
1

Essayer

usermod --expire 9999

désactiver l'inactivité du compte (la date d'expiration est fixée à 1/1/9999). passwd -u ne fonctionne que si le mot de passe est "verrouillé", mais pas pour les comptes désactivés.

Darth Android
la source
Je vois, donc il y a une différence entre le mot de passe étant verrouillé / désactivé et le compte étant verrouillé / désactivé? Le message sur la connexion échouée m'a alors induit en erreur. Cette méthode affectera-t-elle la date d'expiration du mot de passe ou est-ce que l'expiration du compte est une chose distincte?
jam
J'ai essayé cela et maintenant, lorsque j'essaie de me connecter, le message «échec de la connexion» est indiqué, même si le mot de passe est correct (après un échec, je l'ai changé pour en être sûr à 100%). Aucune suggestion? S:
jam
Cela modifiera l'expiration du compte, qui est distincte de l'expiration du mot de passe. Ainsi, les comptes peuvent être actifs ou expirés, les mots de passe peuvent être actifs, verrouillés ou expirés, et il est possible d'exclure automatiquement un compte après l'expiration du mot de passe. Quelle est la sortie de passwd --status <username> ? Ce serait utile si vous pouviez ajouter cela à votre question.
Darth Android
La version de passwd sur cette distribution n'accepte pas --status en option mais passwd -S <user> ('montrer les attributs de mot de passe') donne: <user> PS <date> <password expiry options> où date correspond à la date à laquelle j'ai modifié le mot de passe pour la dernière fois (hier) et où les options d'expiration du mot de passe sont les suivantes: min age (0), max age (90) days before expiry to issue warning (7) et days after expiry with usable login (-1). Ces paramètres fonctionnaient tous auparavant, donc je ne pense pas que ce soit la cause du problème.
jam
1

Le problème pourrait également être que le compte vient d'être créé et qu'aucun mot de passe n'a encore été attribué.

Si c'est le cas, passwd -S <user> montrera LK (pour verrouillé) et passwd -u <user> ne fonctionnera pas.

Il vous suffit d'attribuer un mot de passe à l'utilisateur pour résoudre le problème.

Otin
la source
1

Vous pouvez taper:

pam_tally2 -r -u user_name

pour déverrouiller le compte.

lejuste
la source
0

Avec cette commande, vous pouvez créer un utilisateur non verrouillé sans mot de passe:

adduser --gecos "Username" --disabled-password "username"

Cela signifie qu'aucun mot de passe aléatoire n'est suspendu au système.

Congelli501
la source