Samba:如何将/ etc / passwd复制到新版本的ubuntu服务器上的samba密码

我正在写一个脚本来将linux用户密码复制到ubuntu服务器10.04上的samba。 我正在用tdbsam后端使用samba 3。

1)我如何(如果可能)使用shell脚本将帐户(用户/密码)从linux复制到samba?

2)我如何find我的脚本中,如果某个用户是在桑巴用户分贝,并有密码,并被激活? 我需要这个,因为我的脚本运行得更频繁,在后续运行中,我需要找出用户是否已经存在。 我不会复制或设置密码或不必要的激活。

这是我的configuration的头:

[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 

samba密码文件和系统影子文件有不同的哈希scheme。 我相信他们都不可逆,所以没有办法在一方和另一方之间进行转换。 同步密码的唯一方法是在通过从用户input中同时更新两个文件来更改密码的时候。 这是unix密码同步设置的重点。

我决定现在切换回smbpasswd。 我决定不要同步密码。 我需要一个简单的解决scheme,现在就在这里工作。

这是现在configuration的头:

 [global] workgroup = WORKGROUP security = SHARE passdb backend = smbpasswd:/etc/samba/smbpasswd unix password sync = no syslog = 0 log file = /var/log/samba/log.%m max log size = 1000 

这是我将在初始安装和不时运行的脚本:

 USER=samwin cat /etc/samba/smbpasswd | grep -e "^$USER:" if [ $? -ne 0 ]; then echo "Adding Samba user USER:" smbpasswd -a $USER else echo "Samba user $USER already present." fi 

我仍然对上述问题的答案感到好奇,以便将来安装,我会接受最适合的答案。