03/10/06: 關於 Samba 新舊版的帳號及密碼管理
現有的 samba server 已經蠻舊的了,也好一陣子沒更新了。還在 2.2.7 的版本。
現在架起新的 Samba server,用的版本是 3.0.14。
差別真的蠻多的。突然覺得好像不會用了。
以前帳號要做修改,直接修改 /etc/samba/smbpasswd 即可。現在預設不是如此了。當然,我相信要繼續用 smbpasswd 也是可以的。不過,用新的也好啦。試試嘛。
現在,可用 pdbedit 來修改 SAM Database (Database is Samba Users)。
既然是要做轉換,總不能叫每個 user 再設一次密碼吧?
所以,也可以用 pdbedit 來做匯入的動作。
我舊的 server 上用的還是 smbpasswd。要將帳號匯入新的 Samba server 的 db 檔步驟如下:
1. 先修改新 server 上的 /etc/samba/smb.conf
找到一行:
修改為:
2. 將舊主機的 /etc/samba/smbpasswd 複製到新主機的 /etc/samba/smbpasswd
3. 修改 smbpasswd 將非一般使用者的帳號移除
4. 執行
5. 檢查一下有沒有匯入(列出在 database 裡的 user accounts)
6. 再次修改 /etc/samba/smb.conf,將 smbpasswd 的支援移除
修改為:
7. 最後再重新啟動 samba 即可
參考來源:Account Information Databases
現在架起新的 Samba server,用的版本是 3.0.14。
差別真的蠻多的。突然覺得好像不會用了。
以前帳號要做修改,直接修改 /etc/samba/smbpasswd 即可。現在預設不是如此了。當然,我相信要繼續用 smbpasswd 也是可以的。不過,用新的也好啦。試試嘛。
現在,可用 pdbedit 來修改 SAM Database (Database is Samba Users)。
既然是要做轉換,總不能叫每個 user 再設一次密碼吧?
所以,也可以用 pdbedit 來做匯入的動作。
我舊的 server 上用的還是 smbpasswd。要將帳號匯入新的 Samba server 的 db 檔步驟如下:
1. 先修改新 server 上的 /etc/samba/smb.conf
找到一行:
passdb backend = tdbsam guest
修改為:
passdb backend = tdbsam guest smbpasswd
2. 將舊主機的 /etc/samba/smbpasswd 複製到新主機的 /etc/samba/smbpasswd
3. 修改 smbpasswd 將非一般使用者的帳號移除
4. 執行
pdbedit -i smbpasswd -e tdbsam
5. 檢查一下有沒有匯入(列出在 database 裡的 user accounts)
pdbedit -L
6. 再次修改 /etc/samba/smb.conf,將 smbpasswd 的支援移除
passdb backend = tdbsam guest smbpasswd
修改為:
passdb backend = tdbsam guest
7. 最後再重新啟動 samba 即可
參考來源:Account Information Databases