Linux ENOTFOUNDВысокая

Исправление ошибки 'Пользователь не найден' в Linux за 5 минут

Статья объясняет, почему в Linux появляется ошибка 'Пользователь не найден' и как быстро её устранить с помощью простых команд. Вы узнаете причины, способы решения и профилактические меры.

Обновлено 11 июля 2026 г.
5-10 мин
Низкая
FixPedia Team
Применимо к:Ubuntu 22.04Debian 12CentOS 8

Что означает ошибка 'Пользователь не найден'

Ошибка "Пользователь не найден" появляется, когда система не может сопоставить введённое имя с записью в /etc/passwd. Частые варианты сообщения:

  • login: user unknown
  • su: authentication failure; invalid user: <username>
  • passwd: пользователь не найден

Обычно это происходит при попытке войти в систему, использовать su, passwd или выполнить любое действие, требующее указания UID. Ошибка указывает на то, что запрошенный аккаунт отсутствует или заблокирован.

Причины возникновения

  • Ошибка в написании – опечатка или лишний пробел в имени пользователя.
  • Удалён аккаунт – пользователь был удалён с помощью userdel или deluser.
  • Заблокирован источник аутентификации – LDAP/AD, NIS или PAM возвращают пользователя как неизвестного.
  • Повреждение /etc/passwd или /etc/shadow – неактуальные записи или неправильные права доступа.
  • Несоответствие UID/GID – пользователь существует, но с другим именем (редко).

Способы решения

Способ 1: Проверка существования пользователя

  1. Используйте id <username>, чтобы подтвердить наличие пользователя.
  2. Для быстрой проверки выполните grep <username> /etc/passwd.
  3. Если пользователь отсутствует, перейдите к способу 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: Восстановление удалённого пользователя

  1. Найдите резервную копию /etc/passwd, например /etc/passwd.bak.
  2. Восстановите пользователя с помощью useradd -m <username> и восстановите UID, если необходимо:
useradd -m -u <old-uid> <username>
passwd <username>

Способ 4: Проверка настроек PAM/LDAP

  1. Проверьте /etc/pam.d/common-auth на наличие корректных модулей.
  2. Убедитесь, что /etc/nsswitch.conf включает files или ldap перед winbind в строке passwd.
  3. Перезапустите службы PAM и SSH:
systemctl restart pam
systemctl restart ssh

Способ 5: Восстановление файлов паролей

  1. Сделайте резервные копии /etc/passwd и /etc/group.
  2. Запустите pwck и grpck для проверки целостности:
pwck
grpck
  1. Если проверки выявляют проблемы, исправьте данные вручную или восстановите из резервной копии.

Профилактика

  • Проверяйте написание перед вводом логина; используйте автодополнение, где доступно.
  • Регулярно создавайте резервные копии /etc/passwd, /etc/shadow и /etc/group.
  • Следите за изменениями пользователей с помощью lastlog или last для выявления неожиданных удалений.
  • Обновляйте конфигурации PAM после изменений в LDAP/AD.
  • Используйте неизменяемые пароли и многофакторную аутентификацию для уменьшения риска несанкционированных удалений.

Часто задаваемые вопросы

Почему команда `login` выдает ошибку 'Пользователь не найден'?
Как создать нового пользователя, если предыдущий пропал?
Что делать, если `su` не может переключиться на нужного пользователя?
Как предотвратить появление ошибки 'Пользователь не найден'?

Полезное

Проверьте существование пользователя
Создайте отсутствующего пользователя
Восстановите удаленного пользователя
Проверьте настройки PAM/LDAP
Восстановите поврежденные файлы паролей
Проверьте журналы событий