Вопрос или проблема
Я только что установил Ubuntu на новом компьютере, и все казалось в порядке. Мы с коллегой столкнулись с несколькими проблемами и, в процессе устранения неполадок с некоторыми проблемами McAfee, смогли заблокировать локальную учетную запись администратора (sudo?). Я на 99,9% уверен, что пароль для пользователя не изменился. Я выполнил ВСЕ шаги, найденные здесь, чтобы сбросить пароль в режиме восстановления. Когда я пытаюсь запустить
sudo passwd USERNAME
Я получаю ошибку:
root@hostname:~# sudo passwd USERNAME
passwd:Permission denied
passwd:password unchanged
root@hostname:~#
Когда я пытаюсь выполнить шаги для “Драстических мер”, я замечаю, что файл shadow не показывает то, что обычно указывает на зашифрованный пароль для пользователя. Вместо этого он выглядит так:
username:!:14920:0:99999:7:::
Я убрал отключающий знак и все равно продолжаю сталкиваться с проблемами. Даже когда я запускаю
passwd
в качестве root через режим восстановления, я получаю ошибку доступа. На данный момент я могу только войти в систему как root через режим восстановления. Я абсолютно запутался в этой ситуации и стараюсь избежать разборки машины и начала с нуля. Любая помощь, которую вы можете предоставить, будет очень признательна.
Решение:
vi /etc/pam.d/common-password
password [success=3 default=ignore]
pam_unix.so obscure sha512
=> Измените на “success=2”
Улыбнитесь!
Ответ или решение
При обновлении пароля пользователя в Ubuntu вы столкнулись с ошибкой "passwd: permission denied". Это может быть связано с неправильными настройками PAM (Pluggable Authentication Modules) или с тем, что ваша учетная запись находится в состоянии, когда невозможно изменить пароль. Давайте рассмотрим шаги, которые могут помочь решить вашу проблему.
-
Проверьте состояние пользователя в файле /etc/shadow:
Ваше указание на то, что строка в файле/etc/shadow
выглядит следующим образом:username:!:14920:0:99999:7:::
Это означает, что пользователь заблокирован. Знак
!
перед хешем пароля указывает на то, что учетная запись отключена. Чтобы разблокировать пользователя, вам нужно удалить этот знак.Выполните следующую команду в терминале в режиме восстановления (или как root):
sudo vi /etc/shadow
Измените строку, удалив
!
, чтобы она выглядела так:username:password_hash:14920:0:99999:7:::
Не забудьте сохранить изменения.
-
Проверьте настройки PAM:
Если после разблокировки пользователя у вас все еще возникают проблемы с изменением пароля, стоит проверить настройки PAM. Откройте файл/etc/pam.d/common-password
:sudo vi /etc/pam.d/common-password
Найдите строку, которая выглядит так:
password [success=3 default=ignore] pam_unix.so obscure sha512
Измените
success=3
наsuccess=2
. После изменения строка должна выглядеть так:password [success=2 default=ignore] pam_unix.so obscure sha512
Сохраните изменения.
-
Попробуйте установить пароль снова:
Теперь попробуйте установить новый пароль для пользователя:sudo passwd USERNAME
Замените
USERNAME
на имя вашего пользователя. Если все сделано правильно, вы сможете установить новый пароль. -
Перезагрузите систему:
После внесения всех изменений перезагрузите систему:sudo reboot
-
Проверка доступа:
После перезагрузки попробуйте войти в систему с новым паролем. Убедитесь, что у вас есть доступ к учетной записи.
Если после выполнения всех этих шагов проблема все еще сохраняется, стоит обратить внимание на журналы системы, такие как /var/log/auth.log
, для получения дополнительной информации о том, что может быть не так. Если у вас будут другие вопросы или возникнут трудности, не стесняйтесь обращаться за помощью.