Kickstart 中创建的用户无法进行身份验证

Kickstart 中创建的用户无法进行身份验证

感谢这个问题,过去 5 年来,我一直很高兴为 Scientific Linux 6 和 7 生成 Kickstart 文件。然而,我们现在开始使用 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(PAM 支持的 vsftpd)测试了基于密码的登录。

/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具有与 Kickstart 文件中指定的相同的哈希值:

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在 Kickstart 文件中使用它,并且authselect current显示“未检测到现有配置”。从我读到的内容来看,这应该意味着 sssd 已经不存在了(无论如何,据我所知,它仅用于外部身份验证。)

PAM 配置与默认配置没有变化,我添加了选项debugpam_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

如果我误解了 SSSD,以下是/etc/nsswitch.conf

passwd:      sss files systemd
shadow:     files sss
group:       sss files systemd
hosts:      files dns myhostname
services:   files sss
netgroup:   sss
automount:  files sss
aliases:    files
ethers:     files
gshadow:    files
networks:   files dns
protocols:  files
publickey:  files
rpc:        files

(现在我看它,好像是 sssd妨碍了事情的发展。)下面没有文件/etc/sssd/,状态如下:

● sssd.service - System Security Services Daemon
   Loaded: loaded (/usr/lib/systemd/system/sssd.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2020-10-22 17:16:49 EDT; 6 days ago
 Main PID: 899 (sssd)
    Tasks: 3 (limit: 4428)
   Memory: 6.4M
   CGroup: /system.slice/sssd.service
           ├─899 /usr/sbin/sssd -i --logger=files
           ├─940 /usr/libexec/sssd/sssd_be --domain implicit_files --uid 0 --gid 0 --logger=files
           └─944 /usr/libexec/sssd/sssd_nss --uid 0 --gid 0 --logger=files

有没有想过为什么我无法使用预期的密码登录,直到设置密码passwd

相关内容