fedora預(yù)裝的samba已經(jīng)是samba-3.0.0-15,功能已經(jīng)非常強(qiáng)大了,今天我們調(diào)試的重點(diǎn)不是samba3.0的新功能,我們還是先來實(shí)現(xiàn)他的基本功能,文件共享服務(wù),至于域控制器功能我會(huì)在以后的調(diào)試手記中闡述。
我們今天要實(shí)現(xiàn)的環(huán)境是,假如公司有財(cái)務(wù),技術(shù),領(lǐng)導(dǎo)3個(gè)部門,我們分別為3個(gè)部門建立3個(gè)用戶組為caiwu,network,lingdao;
三個(gè)部門里各有2個(gè)用戶,我們建用戶分別為caiwu01,caiwu02,network01,network02,lingdao01,lingdao02
然后我們分別就公司的具體情況建立相應(yīng)的目錄及訪問權(quán)限,通過以下的例子,希望大家能在平時(shí)的工作中靈活的應(yīng)用samba的安全權(quán)限來設(shè)置你們的samba文件服務(wù)器。
1。首先服務(wù)器采用用戶驗(yàn)證的方式,每個(gè)用戶可以訪問自己的宿主目錄,并且只有該用戶能訪問宿主目錄,并具有完全的權(quán)限,而其他人不能看到你的宿主目錄。
2。建立一個(gè)caiwu的文件夾,希望caiwu組和lingdao組的人能看到,network02也可以訪問,但只有caiwu01有寫的權(quán)限。
3。建立一個(gè)lindao的目錄,只有領(lǐng)導(dǎo)組的人可以訪問并讀寫,還有network02也可以訪問,但外人看不到那個(gè)目錄
4。建議一個(gè)文件交換目錄exchange,所有人都能讀寫,包括guest用戶,但每個(gè)人不能刪除別人的文件。
5。建議一個(gè)公共的只讀文件夾public,所有人只讀這個(gè)文件夾的內(nèi)容。
好,我們先來前期的工作
#groupadd caiwu
#groupadd network
#groupadd lingdao
#useradd caiwu01 -g caiwu
#useradd caiwu02 -g caiwu
#useradd network01 -g network
#useradd network02 -g network
#useradd lingdao01 -g lingdao
#useradd lingdao02 -g lingdao
然后我們使用smbpasswd -a caiwu01的命令為6個(gè)帳戶分別添加到samba用戶中
#mkdir /home/samba
#mkdir /home/samba/caiwu
#mkdir /home/samba/lingdao
#mkdir /home/samba/exchange
#mkdir /home/samba/public
我們?yōu)榱吮苊饴闊┛梢栽谶@里把上面所有的文件夾的權(quán)限都設(shè)置成777,我們通過samba靈活的權(quán)限管理來設(shè)置上面的5點(diǎn)要求。
以下是我的smb.conf的配置文件
[global]
workgroup = bmit
#我的網(wǎng)絡(luò)工作組
server string = Frank‘s Samba File Server
#我的服務(wù)器名描述
security = user
#使用用戶驗(yàn)證機(jī)制
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
#使用加密密碼機(jī)制,在win95和winnt使用的是明文
其他的基本上可以按照默認(rèn)的來。
[homes]
comment = Home Directories
browseable = no
writable = yes
valid users = %S
create mode = 0664
directory mode = 0775
#homes段滿足第1條件
[caiwu]
comment = caiwu
path = /home/samba/caiwu
public = no
valid users = @caiwu,@lingdao,network02
write list = caiwu01
printable = no
#caiwu段滿足我們的第2要求
[lingdao]
comment = lingdao
path = /home/samba/lingdao
public = no
browseable = no
valid users = @lingdao,network02
printable = no
#lingdao段能滿足我們的第3要求
[exchage]
comment = Exchange File Directory
path = /home/samba/exchange
public = yes
writable = yes
#exchange段基本能滿足我們的第4要求,但不能滿足每個(gè)人不能刪除別人的文件這個(gè)條件,即使里設(shè)置了mask也是沒用,其實(shí)這個(gè)條件只要unix設(shè)置一個(gè)粘著位就行
chmod -R 1777 /home/samba/exchange
注意這里權(quán)限是1777,類似的系統(tǒng)目錄/tmp也具有相同的權(quán)限,這個(gè)權(quán)限能實(shí)現(xiàn)每個(gè)人能自由寫文件,但不能刪除別人的文件這個(gè)要求
[public]
comment = Read Only Public
path = /home/samba/public
public = yes
read only = yes
#這個(gè)public段能滿足我們的第5要求。
到此為止我們的設(shè)置已經(jīng)能實(shí)現(xiàn)我們的共享文件要求,記得重啟服務(wù)哦
#/etc/rc.d/init.d/smb restart
如果大家沒有winodws,不妨先用samba的cilent端命令來測(cè)試一下
命令的用法我在這里只舉幾個(gè)例子,具體的大家去試驗(yàn)
smbclient -L 服務(wù)器ip -N
guest帳戶查詢你的服務(wù)器的samba共享情況,你可以檢驗(yàn)一下是否lingdao目錄時(shí)候能被guest帳戶看到,應(yīng)該是看不到的,當(dāng)然你也可以以某個(gè)用戶的名義查看
smbclient -L 服務(wù)器ip -U caiwu01
系統(tǒng)會(huì)提示密碼,只要輸入smb密碼就行。
smbclient //服務(wù)器ip/caiwu -U caiwu01
#以caiwu01用戶的名義登錄caiwu目錄
smbmount //服務(wù)器ip/caiwu /mnt/caiwu -o username=caiwu01
#把服務(wù)器的財(cái)務(wù)目錄映射到本地的/mnt/caiwu目錄
關(guān)于samba的其他用法我會(huì)在后續(xù)的文章中繼續(xù),請(qǐng)大家等待!
參考資料
Samba 配置 http://www./ChineseGB/March2002/article177.shtml
O‘Reilly 線上書籍:http://www./catalog/samba/chapter/book/index.html
Samba3.0輕松搞定PDC域服務(wù)器 http://www./samba01.html
作者:張微波
2003年11月12日于北京