我需要 Samba 对家庭共享使用一组不同的凭证。
shell登录密码与Samba登录密码不同。
我已经禁用该unix password sync
选项,但 Samba 密码最终被 shell 登录密码取代。
我是否遗漏了什么,或者我尝试做的事情是否不可能实现?
答案1
您的 Samba 密码已被替换,因为您已pam_smbpasswd
在 PAM 配置中启用。在授權组,此模块会在登录时自动更新 Samba 帐户。如果禁用它,您的密码将保持分开。
该unix password sync
选项适用于对面的方向 - 当 Samba 被告知更改其自己的帐户数据库时,它会导致 Unix 密码更新。
答案2
仅供记录,我一直在努力解决这个问题,在尝试了不同的解决方案之后,我找到了一个似乎有效的解决方案。
我必须卸载 libpam-smbpass。因此 sudo apt-get remove libpam-smbpass 解决了这个问题。
答案3
仅供参考:
您应该搜索“pam_smbpass”而不是“pam_smbpasswd”
# grep smbpass /etc/pam.d/*
/etc/pam.d/common-auth:auth optional pam_smbpass.so migrate
/etc/pam.d/common-password:password optional pam_smbpass.so nullok use_authtok use_first_pass
然后只需从这些文件中删除 pam_smbpass 即可。
答案4
使用以下内容设置您的 Samba 密码:
sudo smbpasswd -a <username>
然后,为了防止 Samba 密码在下次登录时与 Unix 密码同步,请执行以下操作:
sudo pam-auth-update
然后在弹出的界面取消勾选“SMB密码同步”,点击“确定”