Благодаря ответам на этот вопрос, Я успешно создавал файлы кикстарта для Scientific Linux 6 и 7 последние 5 лет. Однако сейчас мы начинаем создавать несколько тестовых систем с CentOS 8 и сталкиваемся с некоторыми проблемами.
Несмотря на использование одного и того же метода для генерации хэшей (или, действительно, повторное использование тех же самых хэшей), пароли для пользователей не устанавливаются правильно. Мне не удалось найти никакой документации, предполагающей изменение между EL 7 и 8.
Вот тестовый пользователь, которого я создаю в файле Kickstart:
user --homedir=/var/ftp --name=A3857275828 --password=$6$J52QJaSjIt8GGqRS$4YyusOJ5EtpikCdwgXJrorW7XyiLRCT.jjRZsHLv04ZV7ng8wTdrwFUF2u5QXGWiEmDgu/g9RpXxLKPoRD4Kh0 --iscrypted --shell=/usr/sbin/nologin --uid=5001 --gid=5001
Пароль должен быть 9282759601013452
но вход в систему не выполняется, пока я вручную не изменю пароль с помощью passwd
утилита. Я вижу такие же неудачи на все непривилегированные учетные записи созданы, но пароль root работает нормально. Вход на основе пароля был протестирован с использованием как SSH, так и FTP (vsftpd при поддержке PAM).
/var/log/anaconda/journal.log
ничего интересного в процессе настройки не показывает:
Jun 26 20:52:17 test.test.local anaconda[1946]: program: Running... useradd -R /mnt/sysimage -g 5001 -d /var/ftp -M -s /usr/sbin/nologin -u 5001 A3857275828
Jun 26 20:52:17 test.test.local useradd[35591]: new user: name=A3857275828, UID=5001, GID=5001, home=/var/ftp, shell=/usr/sbin/nologin
Запись в /etc/shadow
имеет тот же хеш, который указан в файле кикстарта:
A3857275828:$6$J52QJaSjIt8GGqRS$4YyusOJ5EtpikCdwgXJrorW7XyiLRCT.jjRZsHLv04ZV7ng8wTdrwFUF2u5QXGWiEmDgu/g9RpXxLKPoRD4Kh0::0:99999:7:::
И после обновления с passwd
, это все еще действующий хеш SHA-512:
A3857275828:$6$SP6IoLdZemXHZbxp$E3/Owe7mciCkeuHdiX4ZnZDUWmTz3nDqa885Rnc3rHMZcPharyX0QSdsUTq3gMneSNsmD1V.FmRf5HCY.uZqH0:18452:0:99999:7:::
Единственный другой файл, который затрагивается во время обновления пароля, - это /var/lib/sss/mc/passwd
. Однако я не использую authselect
в моем файле кикстарта и authselect current
говорит: «Существующей конфигурации не обнаружено». Из того, что я читал, это должно означать, что sssd не используется (в любом случае, насколько я понимаю, он используется только для внешней аутентификации).
Конфигурация PAM не изменилась по умолчанию. Это /etc/pam.d/password-auth
:
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authselect is run.
auth required pam_env.so
auth sufficient pam_unix.so try_first_pass nullok
auth required pam_deny.so
account required pam_unix.so
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password sufficient pam_unix.so try_first_pass use_authtok nullok sha512 shadow
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
-session optional pam_systemd.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
Я добавил debug
возможность pam_unix.so
но я не получаю от этого многословия:
Jul 10 17:00:06 pbxtest login[972]: pam_unix(login:auth): username [admin] obtained
Jul 10 17:00:08 pbxtest login[972]: pam_unix(login:auth): authentication failure; logname=LOGIN uid=0 euid=0 tty=tty1 ruser= rhost= user=admin
Jul 10 17:00:10 pbxtest login[972]: FAILED LOGIN 1 FROM tty1 FOR admin, Authentication failure
Любые мысли о том, почему я не могу войти в систему с ожидаемым паролем, пока не установлю его с помощью passwd
?
Для меня звучит как SSSD. Можете ли вы показать свой /etc/nsswitch.conf вместе с /etc/sssd/sssd.conf плюс systemctl status sssd?
У вас также установлена оболочка / usr / sbin / nologin, поэтому пользователи не смогут войти в систему (хотя они должны иметь возможность аутентифицироваться).