Su сбой при проверке подлинности

Программы

Su сбой при проверке подлинности

Если команда su завершается с ошибкой аутентификации, первым делом проверьте правильность пароля. Введите его вручную, а не копируйте – даже невидимые символы могут вызвать сбой. Убедитесь, что пользователь существует в системе и имеет право на повышение привилегий через /etc/pam.d/su или /etc/security/access.conf.

Распространённая причина – блокировка учётной записи после нескольких неудачных попыток. Проверьте журналы /var/log/auth.log или /var/log/secure на записи типа «authentication failure». Если проблема сохраняется, временно отключите ограничения в /etc/pam.d/system-auth, закомментировав строки с pam_tally2.so.

Для систем с SELinux добавьте контекст безопасности su_exec_t к исполняемому файлу. Выполните restorecon -v /bin/su и перезапустите службу auditd. В случае ошибок NSS (например, «user unknown») обновите базы данных командой getent passwd и проверьте корректность /etc/nsswitch.conf.

Su сбой при проверке подлинности: причины и решение

Если команда su завершается ошибкой аутентификации, проверьте правильность ввода пароля. Убедитесь, что Caps Lock выключен и раскладка клавиатуры верна.

Основные причины сбоя

1. Неправильный пароль: Убедитесь, что вводите пароль root или целевого пользователя без опечаток. В отличие от графического интерфейса, терминал не показывает символы при вводе.

2. Отсутствие прав root: Пользователь может не входить в группу wheel (в системах на базе RHEL) или sudo (в Debian/Ubuntu). Проверьте членство командой:

groups ваш_пользователь

Как исправить

Добавьте пользователя в группу sudo/wheel:

Выполните от root:

Читайте также:  Что такое сетевая карта в компьютере

usermod -aG sudo ваш_пользователь (для Debian/Ubuntu)
usermod -aG wheel ваш_пользователь (для RHEL/CentOS)

Проверьте файл /etc/pam.d/su:

Убедитесь, что строка auth required pam_wheel.so закомментирована или содержит параметр trust. Изменения требуют прав root.

Сбросьте пароль root:

Если пароль утерян, загрузитесь в режиме восстановления и выполните:

passwd root

Основные симптомы сбоя при проверке подлинности su

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

1. Ошибки ввода пароля

Система не принимает корректный пароль, даже если он верный. Это может сопровождаться сообщениями типа Authentication failure или su: Permission denied. Убедитесь, что Caps Lock выключен и раскладка клавиатуры правильная.

2. Отсутствие доступа к файлам аутентификации

Команда su требует доступа к /etc/pam.d/su, /etc/shadow и другим системным файлам. Если права доступа нарушены, появится ошибка su: cannot open session или su: Authentication service cannot retrieve authentication info.

Проверьте права на эти файлы командой:

ls -l /etc/pam.d/su /etc/shadow

Файл /etc/shadow должен быть доступен только root, а /etc/pam.d/su – с правами 644.

3. Блокировка учётной записи

3. Блокировка учётной записи

После нескольких неудачных попыток система может временно заблокировать пользователя. В этом случае появится сообщение Account locked due to X failed attempts. Разблокируйте учётную запись через passwd -u username или сбросьте таймеры в /etc/pam.d/system-auth.

Если ошибка сохраняется, проверьте журналы /var/log/auth.log или /var/log/secure – там могут быть подробности сбоя.

Распространённые причины ошибок аутентификации в su

Проверьте, правильно ли введён пароль. Ошибки часто возникают из-за опечаток, особенно если используется сложная комбинация символов. Убедитесь, что Caps Lock выключен, а раскладка клавиатуры правильная.

Убедитесь, что пользователь существует в системе. Команда su требует указания существующего имени учётной записи. Проверьте список пользователей командой cat /etc/passwd | grep "имя_пользователя".

Права доступа могут блокировать аутентификацию. Если пользователь не входит в группу wheel или sudo, система отклонит запрос. Добавьте пользователя в нужную группу командой usermod -aG wheel имя_пользователя.

Конфигурация PAM иногда ограничивает доступ. Проверьте файл /etc/pam.d/su – если там есть строка auth required pam_wheel.so, только члены группы wheel смогут переключиться на root.

Читайте также:  Free disk analyzer rus portable

Пароль root может быть заблокирован. В некоторых дистрибутивах по умолчанию отключена аутентификация по паролю для root. Разблокируйте её командой passwd root или используйте sudo вместо su.

Неправильные настройки /etc/shadow приводят к ошибкам. Если у пользователя истёк срок действия пароля или учётная запись заблокирована, исправьте это командой passwd -u имя_пользователя.

Проблемы с SELinux или AppArmor могут мешать аутентификации. Проверьте журналы (/var/log/secure или /var/log/auth.log) на наличие сообщений о блокировке.

Проверка корректности файлов конфигурации PAM

Проверка корректности файлов конфигурации PAM

Откройте файлы PAM в /etc/pam.d/ и убедитесь, что синтаксис каждой строки соответствует формату: тип_контроля модуль аргументы. Ошибки в структуре приводят к сбоям аутентификации.

Проверьте, что модули, указанные в конфигурации, существуют в системе. Выполните команду для поиска файлов:

find /lib* /usr/lib* -name "pam_*.so"

Распространённые ошибки в файлах PAM:

Ошибка Как исправить
Лишние пробелы или табуляции Удалите лишние символы, оставив один пробел между элементами
Несуществующие модули Установите недостающий пакет (например, libpam-cracklib)
Некорректные типы контроля Замените на допустимые: required, requisite, sufficient, optional

Протестируйте конфигурацию с помощью утилиты pam-auth-update. Она покажет конфликты между модулями и предложит варианты исправления.

Для проверки конкретного сервиса используйте команду:

pamtester сервис пользователь authenticate

Если изменения в PAM приводят к блокировке входа, загрузитесь в аварийном режиме и восстановите резервную копию файлов из /etc/pam.d/.

Настройка прав доступа к файлу /etc/pam.d/su

Установите права 644 для файла /etc/pam.d/su, чтобы ограничить запись для всех, кроме владельца:

sudo chmod 644 /etc/pam.d/su

Проверьте владельца файла – им должен быть root. Если это не так, исправьте командой:

sudo chown root:root /etc/pam.d/su

Почему это важно

Файл /etc/pam.d/su управляет аутентификацией при выполнении команды su. Неправильные права могут привести к:

  • Несанкционированному изменению правил аутентификации.
  • Обходу ограничений для перехода в учетную запись root.
  • Ошибкам при проверке подлинности.
Читайте также:  Плагин для mozilla firefox для просмотра видео

Дополнительные проверки

Убедитесь, что файл не имеет расширенных атрибутов, позволяющих обойти ограничения:

lsattr /etc/pam.d/su
sudo chattr -i /etc/pam.d/su

Исправление ошибок, связанных с отсутствием группы wheel

Если команда su выдает ошибку из-за отсутствия группы wheel, добавьте пользователя в эту группу. В большинстве Linux-дистрибутивов группа wheel дает права на выполнение административных команд.

Проверьте, существует ли группа в системе:

grep wheel /etc/group

groupadd wheel

Добавьте нужного пользователя в группу:

usermod -aG wheel имя_пользователя

Убедитесь, что файл /etc/pam.d/su или /etc/pam.d/sudo содержит строку, разрешающую доступ для группы wheel:

auth required pam_wheel.so use_uid

После внесения изменений перезагрузите систему или выйдите и зайдите заново, чтобы изменения вступили в силу.

Действия при блокировке учётной записи root

Если учётная запись root заблокирована, войдите в систему через другого пользователя с правами sudo. Выполните команду sudo passwd root, чтобы сбросить пароль.

Проверьте файл /etc/shadow на наличие блокировки. Если в строке root стоит восклицательный знак (! или *), удалите его с помощью sudo usermod -U root.

Если система использует PAM, отредактируйте файл /etc/pam.d/su или /etc/pam.d/common-auth. Уберите или закомментируйте строки с pam_tally2.so или pam_faillock.so, если они блокируют root.

Для временного доступа загрузитесь в режиме recovery mode. Нажмите e в меню загрузчика, найдите строку с linux, добавьте init=/bin/bash в конец, затем нажмите Ctrl+X. После загрузки выполните mount -o remount,rw / и смените пароль через passwd root.

Если блокировка вызвана SELinux, проверьте контекст безопасности файлов /etc/shadow и /etc/passwd командой ls -Z. Восстановите контекст через restorecon -v /etc/shadow /etc/passwd.

Оцените статью
Ремонт компьютера
Добавить комментарий