Samba3.0伺服器實戰除錯(zt)

tonykorn97發表於2006-11-06

fedora預裝的samba已經是samba-3.0.0-15,功能已經非常強大了,今天我們除錯的重點不是samba3.0的新功能,我們還是先來實現他的基本功能,檔案共享服務,至於域控制器功能我會在以後的除錯手記中闡述。


我們今天要實現的環境是,假如公司有財務,技術,領導3個部門,我們分別為3個部門建立3個使用者組為caiwu,network,lingdao;

三個部門裡各有2個使用者,我們建使用者分別為caiwu01,caiwu02,network01,network02,lingdao01,lingdao02

然後我們分別就公司的具體情況建立相應的目錄及訪問許可權,透過以下的例子,希望大家能在平時的工作中靈活的應用samba的安全許可權來設定你們的samba檔案伺服器。

1。首先伺服器採用使用者驗證的方式,每個使用者可以訪問自己的宿主目錄,並且只有該使用者能訪問宿主目錄,並具有完全的許可權,而其他人不能看到你的宿主目錄。

2。建立一個caiwu的資料夾,希望caiwu組和lingdao組的人能看到,network02也可以訪問,但只有caiwu01有寫的許可權。

3。建立一個lindao的目錄,只有領導組的人可以訪問並讀寫,還有network02也可以訪問,但外人看不到那個目錄

4。建議一個檔案交換目錄exchange,所有人都能讀寫,包括guest使用者,但每個人不能刪除別人的檔案。

5。建議一個公共的只讀資料夾public,所有人只讀這個資料夾的內容。

好,我們先來前期的工作

#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個帳戶分別新增到samba使用者中

#mkdir /home/samba

#mkdir /home/samba/caiwu

#mkdir /home/samba/lingdao

#mkdir /home/samba/exchange

#mkdir /home/samba/public

我們為了避免麻煩可以在這裡把上面所有的資料夾的許可權都設定成777,我們透過samba靈活的許可權管理來設定上面的5點要求。

以下是我的smb.conf的配置檔案

[global]

workgroup = bmit

#我的網路工作組

server string = Frank's Samba File Server

#我的伺服器名描述

security = user

#使用使用者驗證機制

encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
#使用加密密碼機制,在win95和winnt使用的是明文

其他的基本上可以按照預設的來。

[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要求,但不能滿足每個人不能刪除別人的檔案這個條件,即使裡設定了mask也是沒用,其實這個條件只要unix設定一個粘著位就行

chmod -R 1777 /home/samba/exchange

注意這裡許可權是1777,類似的系統目錄/tmp也具有相同的許可權,這個許可權能實現每個人能自由寫檔案,但不能刪除別人的檔案這個要求

[public]
comment = Read Only Public
path = /home/samba/public
public = yes
read only = yes

#這個public段能滿足我們的第5要求。

到此為止我們的設定已經能實現我們的共享檔案要求,記得重啟服務哦

#/etc/rc.d/init.d/smb restart

如果大家沒有winodws,不妨先用samba的cilent端命令來測試一下

命令的用法我在這裡只舉幾個例子,具體的大家去試驗

smbclient -L 伺服器ip -N

guest帳戶查詢你的伺服器的samba共享情況,你可以檢驗一下是否lingdao目錄時候能被guest帳戶看到,應該是看不到的,當然你也可以以某個使用者的名義檢視

smbclient -L 伺服器ip -U caiwu01

系統會提示密碼,只要輸入smb密碼就行。

smbclient //伺服器ip/caiwu -U caiwu01

#以caiwu01使用者的名義登入caiwu目錄

smbmount //伺服器ip/caiwu /mnt/caiwu -o username=caiwu01

#把伺服器的財務目錄對映到本地的/mnt/caiwu目錄

關於samba的其他用法我會在後續的文章中繼續,請大家等待!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/312079/viewspace-245508/,如需轉載,請註明出處,否則將追究法律責任。

相關文章