我正在编写一个脚本来将 linux 用户密码复制到 ubuntu 服务器 10.04 上的 samba。我正在使用带有 tdbsam 后端的 samba 3。
1) 我如何(如果可能)使用 shell 脚本将帐户(用户/密码)从 linux 复制到 samba?
2) 如果某个用户在 samba 用户 db 中并且有密码并被激活,我如何在我的脚本中查明?我需要这个,因为我的脚本运行得更频繁,在随后的运行中,我需要确定用户是否已经存在。如果不必要,我不会复制或设置密码或激活。
这是我的配置的负责人:
[global]
workgroup = WORKGROUP
server string = %h server
security = SHARE
obey pam restrictions = Yes
pam password change = no
passdb backend = tdbsam
unix password sync = no
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
dns proxy = No
panic action = /usr/share/samba/panic-action %d
encrypt passwords = true
invalid users = root
hosts allow = 192.168.0.1/24
我决定暂时切换回 smbpasswd。我决定不同步密码。我需要一个现在可以在这里工作的简单解决方案。
这是现在配置的负责人:
这是我将在初始安装时不时运行的脚本:
我仍然对上述问题的答案感到好奇,以便将来安装,我会接受最适合的答案。
samba 密码文件和您的系统影子文件具有不同的散列方案。我相信它们都不可逆,所以没有办法在一个和另一个之间转换。同步密码的唯一方法是在更改密码时通过用户输入同时更新两个文件。这就是 unix 密码同步设置的重点。