之前因為 Linux 主機掛點,要重新設定 Samba 時才發現新版 Samba 的帳號密碼檔有了不一樣的改變。
tdbsam 帳號管理
新版的 Samba 預設已改用 tdbsam 取代 smbpasswd,但如果要繼續延用舊版 smbpasswd 也是可以。
新版的 tdbsam 需要用 pdbedit 指令來管理帳號密碼。
新增帳號與密碼
# pdbedit -a user_name
顯示該帳號明細
# pdbedit -v user_name
使用舊版 smbpasswd 管理帳號
修改 /etc/samba/smb.conf
# vi /etc/samba/smb.conf
passdb backend = smbpasswd <- 將 tdbsam 改為 smbpasswd
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd <- 指定 smbpasswd 路徑
重啟 Samba 服務
# service smb restart
# service nmb restart
將舊版 smbpasswd 匯入 tdbsam
修改 /etc/samba/smb.conf
# vi /etc/samba/smb.conf
passdb backend = tdbsam smbpasswd <- 增加 smbpasswd
重啟 Samba 服務
# service smb restart
# service nmb restart
將 smbpasswd 匯入
# pdbedit -i smbpasswd -e tdbsam
檢查帳號是否有匯入
# pdbedit -L
重啟 Samba 服務
# service smb restart
# service nmb restart
注意1:在 Samba 3.0.7 以後的版本,nmb 不會隨著 smb 啟動,nmb 服務與 NetBIOS Name 名稱解析有關,沒有啟動會造成 Windows 端找不到 Linux 主機。
注意2:SELinux 若啟動,有可能會造成 samba 無法進入,若對 SELinux 不了解如何設定,建議將它關閉。