Что означает ошибка 'Пользователь не найден'
Ошибка "Пользователь не найден" появляется, когда система не может сопоставить введённое имя с записью в /etc/passwd. Частые варианты сообщения:
login: user unknownsu: authentication failure; invalid user: <username>passwd: пользователь не найден
Обычно это происходит при попытке войти в систему, использовать su, passwd или выполнить любое действие, требующее указания UID. Ошибка указывает на то, что запрошенный аккаунт отсутствует или заблокирован.
Причины возникновения
- Ошибка в написании – опечатка или лишний пробел в имени пользователя.
- Удалён аккаунт – пользователь был удалён с помощью
userdelилиdeluser. - Заблокирован источник аутентификации – LDAP/AD, NIS или PAM возвращают пользователя как неизвестного.
- Повреждение
/etc/passwdили/etc/shadow– неактуальные записи или неправильные права доступа. - Несоответствие UID/GID – пользователь существует, но с другим именем (редко).
Способы решения
Способ 1: Проверка существования пользователя
- Используйте
id <username>, чтобы подтвердить наличие пользователя. - Для быстрой проверки выполните
grep <username> /etc/passwd. - Если пользователь отсутствует, перейдите к способу 2 или восстановите удалённую запись.
# Пример проверки
id alice
grep alice /etc/passwd
Способ 2: Создание нового пользователя
Для Debian/Ubuntu:
adduser alice
Для RHEL/CentOS:
useradd -m -s /bin/bash alice
passwd alice
Добавьте пользователя в группу sudo, если требуется:
usermod -aG sudo alice
Способ 3: Восстановление удалённого пользователя
- Найдите резервную копию
/etc/passwd, например/etc/passwd.bak. - Восстановите пользователя с помощью
useradd -m <username>и восстановите UID, если необходимо:
useradd -m -u <old-uid> <username>
passwd <username>
Способ 4: Проверка настроек PAM/LDAP
- Проверьте
/etc/pam.d/common-authна наличие корректных модулей. - Убедитесь, что
/etc/nsswitch.confвключаетfilesилиldapпередwinbindв строкеpasswd. - Перезапустите службы PAM и SSH:
systemctl restart pam
systemctl restart ssh
Способ 5: Восстановление файлов паролей
- Сделайте резервные копии
/etc/passwdи/etc/group. - Запустите
pwckиgrpckдля проверки целостности:
pwck
grpck
- Если проверки выявляют проблемы, исправьте данные вручную или восстановите из резервной копии.
Профилактика
- Проверяйте написание перед вводом логина; используйте автодополнение, где доступно.
- Регулярно создавайте резервные копии
/etc/passwd,/etc/shadowи/etc/group. - Следите за изменениями пользователей с помощью
lastlogилиlastдля выявления неожиданных удалений. - Обновляйте конфигурации PAM после изменений в LDAP/AD.
- Используйте неизменяемые пароли и многофакторную аутентификацию для уменьшения риска несанкционированных удалений.