- 具体为 RHEL-8.10
- 桑巴-4.19
security = user
在 /etc/samba/smb.conf [全局]passdb backend = tdbsam
在 /etc/samba/smb.conf [全局]
smbpasswd -a <user>
这样做是为了有一个用于 Samba 连接的独立密码。
当 Linux 用户的密码/etc/passwd
过期时,是否有办法让该用户的 Samba 密码也过期?当 Linux 帐户密码过期时,至少禁止该用户的 Samba 连接?
场景:/etc/passwd 密码设置为在 90 天后过期,如PASS_MAX_DAYS
和/etc/login.defs
所示passwd -S <user>
。当用户使用时间超过 90 天,更改其 Linux 密码的时间已到,他们实际上已被锁定在 Linux 之外时,我观察到(使用测试帐户)Samba 仍然可以访问共享文件夹,因为他们的 WindowsNT 密码处于不同的过期周期,并且他们仍然可以访问 Linux 服务器的 Samba 共享。/etc/passwd
如果可能,我希望过期时间也能使 Linux 服务器上的 Samba 密码过期。理想情况下,PASS_MAX_DAYS
也将其应用于 Samba 密码并强制用户更新,这可能吗?这是目前 /etc/passwd 密码的基本内容,但似乎 Samba 在这方面出现了漏洞。
首先在 smb.conf 中启用该
obey pam restrictions
选项。尽管 Samba 无法使用 PAM 进行身份验证(由于没有从客户端收到明文密码),但它仍然可以使用 PAM 进行授权,即访问检查以及会话设置。启用此选项将导致从 处理
account
(授权) 和session
模块/etc/pam.d/samba
。发行版默认应包含pam_unix
一个帐户模块,该模块在本节中根据 /etc/shadow 处理帐户到期和密码到期检查: