Не удается разблокировать учетную запись linux

14

У меня есть коробка Linux (OpenSuSE 11.3) с заблокированной учетной записью пользователя. Я вошел в систему как пользователь root, чтобы разблокировать его passwd -u <user>, но я получаю сообщение'Cannot unlock the password for <user>!'

Я попытался изменить пароль на что-то новое через passwd, но попытка войти с этим новым паролем все еще выдает сообщение об ошибке «учетная запись была заблокирована из-за x неудачных попыток».

passwd -Sдает флаги статуса «PS» для учетной записи. Я не распознаю «S», но, во всяком случае, он не показывает ни «L» (заблокировано), ни «NP» (нет пароля). /etc/shadowне содержит никаких странных символов, как !в начале строки для этого аккаунта. Просмотр этого приложения в приложении для управления дистрибутивом (YaST) показывает, что он не заблокирован (кнопка «отключить учетную запись» не проверена).

Где еще мне нужно проверить, как и почему эта учетная запись отказывается разблокировать / войти?

варенье
источник
Какой дистрибутив и версия?
Депвид
Это машина OpenSuSE 11.3
варенье

Ответы:

18

У меня была эта проблема сегодня. Это было исправлением.

pam_tally --user = --reset

пример

pam_tally --user=cyberninja --reset

Я надеюсь, что это поможет кому-то.


Я нашел этот пост в поисках ответа на этот точный вопрос. У меня была такая же ошибка, но на сервере SLES 11 SP2. Мой коллега сбросил мой пароль и попытался разблокировать мою учетную запись с помощью команды passwd -u. Один из моих коллег сказал, что мне нужен четкий аккаунт в PAM, и дал мне команду. Который я выложил выше.


Обновить,

Теперь у меня есть исправление, которое не позволяет этому случиться снова. Кажется, что есть два файла PAM, которые находятся в конфликте. Эти файлы есть; /etc/pam.d/loginи /etc/pam.d/sshd. Оба файла имеют эту строку.

требуется авторизация pam_tally.so onerr = fail deny = 3

Вы должны удалить эту строку из одного из файлов, перечисленных выше. Мы прокомментировали строку в /etc/pam.d/sshdфайле.

После того, как вы это сделаете, у вас больше не должно быть этой проблемы.

Cyberninja
источник
Добро пожаловать в СУ. Постарайтесь объяснить немного больше о том, как вы получили свою проблему, а также немного больше о вашем ответе, если можете.
Самый тяжелый
Хорошо, Sickest, я обновлю свой пост.
Cyberninja
Работал на моем сервере RHEL6 тоже. команда была 'pam_tally2' однако.
СидЖ
Проверьте конфигурацию PAM! В моем PAM он использовал файл /var/log/failllog, но pam_tally2по умолчанию используется команда /var/log/tallylog, поэтому пользователь сообщил, что он не заблокирован. Вы можете использовать pam_tally2 --file /var/log/faillog.
Marki555
8

Я столкнулся с той же проблемой сегодня, когда одна учетная запись пользователя на сервере под управлением SUSE Linux Enterprise Server 11 SP2, даже после сброса пароля и изменения возраста на 0 (chage -d 0 userID)

[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:

С тем же сценарием, описанным @Jam в его оригинальном посте. Ничто не показывает, что учетная запись заблокирована ни в "/ etc / passwd", ни в "/ etc / shadow". Такие команды, как «passwd -S -a | grep frodo», показали, что идентификатор не был заблокирован (LK)

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

Также " pam_tally2 " показывает, что идентификатор не был заблокирован:

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

Но проблема была на самом деле с " pam_tally "

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

После разблокировки пароля userID я смог войти с новыми учетными данными и избежать сообщения об ошибке.

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

Надеюсь, что это поможет кому-то другому избежать поломки его / ее головы, как я сделал за последний час или около того ... Поэтому, если коротко, помните, что нужно проверять и " pam_tally ", и " pam_tally2 ", когда учетная запись заблокирована в SuSE !!

С уважением, Эрнан.

3LRusS1T0
источник
Большое спасибо :) В чем разница между pam_tally и pam_tally2?
mwfearnley
1
Проверьте конфигурацию PAM! В моем PAM он использовал файл /var/log/failllog, но pam_tally2по умолчанию используется команда /var/log/tallylog, поэтому ошибочно сообщается о пользователе как о не заблокированном. Вы можете использовать pam_tally2 --file /var/log/faillog.
Marki555
3

Вы можете ввести:

pam_tally2 -r -u user_name

чтобы разблокировать аккаунт.

lejuste
источник
1

Пытаться

usermod --expire 9999

отключить бездействие для учетной записи (это устанавливает дату истечения срока действия до 01.01.9999). passwd -uработает только в том случае, если пароль «заблокирован», но не для отключенных учетных записей.

Дарт Андроид
источник
Я так понимаю, есть ли разница между паролем, который заблокирован / отключен, и аккаунтом, который заблокирован / отключен? Сообщение о неудачной авторизации ввело меня в заблуждение. Повлияет ли этот метод на дату истечения срока действия пароля или «истечение срока действия учетной записи» - это отдельная вещь?
джем
Я попробовал это, и теперь, когда я пытаюсь войти в систему, он просто говорит «сбой входа в систему», хотя я определенно получаю правильный пароль (после 1 сбоя я изменил его, чтобы быть на 100% уверенным в этом). Какие-либо предложения? S:
варенье
Это изменит срок действия учетной записи, который отличается от срока действия пароля. Таким образом, учетные записи могут быть активными или с истекшим сроком действия, пароли могут быть активными, заблокированными или с истекшим сроком действия, и существует возможность автоматического истечения срока действия учетной записи после истечения срока действия пароля. Какой выход passwd --status <username>? Было бы полезно добавить это к вашему вопросу.
Darth Android
Версия passwdэтого дистрибутива не принимает --statusв качестве опции, но passwd -S <user>('Показать атрибуты пароля') дает: <user> PS <date> <password expiry options>где дата - это дата, когда я последний раз менял пароль (вчера), а параметры истечения срока действия пароля min age(0), max age(90), days before expiry to issue warning(7) и days after expiry with usable login(-1). Все эти настройки работали раньше, поэтому я не думаю, что какие-либо из них являются причиной проблемы.
джем
1

Проблема также могла заключаться в том, что учетная запись была только что создана, и пароль еще не был назначен.

Если это так, passwd -S <user>покажет LK(для заблокированных) и passwd -u <user>не будет работать.

Вам просто нужно назначить пароль для устранения проблемы.

Otin
источник
0

С помощью этой команды вы можете создать разблокированного пользователя без пароля:

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

Это означает, что в системе не висит случайный пароль.

Congelli501
источник