一.前言
本篇環境:Debian sid/ samba ver. 3.2.3。參考moto學園幾位前輩的文章:
http://moto.debian.org.tw/viewtopic.php?t=3066&start=0&postdays=0&postorder=asc&highlight=
http://moto.debian.org.tw/viewtopic.php?t=1810&start=0&postdays=0&postorder=asc&highlight=
samba預設密碼與/etc/shadow是不同步的。本篇目的希望:
------------------------------------------------------------------------------------------------------------
A.系統密碼與samba密碼同步。
B.系統所有使用者都可存取samba,無須大量建立samba client。
------------------------------------------------------------------------------------------------------------
二.smbpasswd與passwd同步
01.修改/etc/pam.d/common-passwordpassword required pam_unix.so nullok obscure min=4 max=8 md5
password sufficient pam_smbpass.so audit use_first_pass
02.確認/etc/samba/smb.conf
encrypt password = true
obey pam restrictions = yes
unix password sync = yes
pam password change = no
03.由於新版的samba其密碼資料庫檔已經不放在/etc/samba/smbpasswd,而是放在
/var/lib/samba/secrets.tdb(利用smbstatus查看版本資訊)
/var/lib/samba/account_policy.tdb
/var/lib/samba/passdb.tdb
此時,手動使用
三.大量建立samba user
早期samba版本的作法是:cat /etc/passwd | mksmbpasswd > /etc/samba.d/smbpasswd並且需要在/etc/samba/smb.conf裡新增一條
smb passwd file = /etc/samba/smbpasswd(以上作法在新版必須忽略)
新版的作法應該要改成:
umaks 0066以上所產生的效果是,從/etc/passwd的entries擷取有用的使用者來建立samba密碼,並寫入到smbpasswd這個暫存檔案內。
getent passwd | grep '/bin/bash' | /usr/sbin/mksmbpasswd > /etc/samba/smbpasswd
pdbedit -i smbpasswd -e tdbsam
rm /etc/samba/smbpasswd
umask 0022
再把smbpasswd裡的使用者資訊寫到samba password database裡,並移除smbpasswd這個過度的暫存檔案。
此時samba database就有了/etc/passwd裡的有效使用者。
不過samba要能有效登入,還需root先變更使用者的密碼,smbpasswd方能生效,但至少解決了大量建制使用者的問題。
沒有留言:
張貼留言