http://www.5ilinux.com/samba.html

一、samba要求:
公司有財務,技術,領導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點要求。

三、vim /etc/samba/smb.conf

[global]
        workgroup = Ubuntu
        server string = Ubuntu Samba Test
        security = user
        encrypt passwords = true
        smb passwd file = /etc/samba/smbpasswd

[homes]
        comment = Home Directories
        browseable = no
        writable = yes
        valid users = %S
        create mode = 0664
        directory mode = 0775
#homes段滿足第1條件,需要說明的是需要在/home目錄里手動為每位用戶建立相應的家目錄,并設置好相應權限。

[caiwu]#滿足我們的第2要求
        comment = caiwu
        path = /home/samba/caiwu
        public = no
        valid users = @caiwu,@lingdao,network02
        write list = caiwu01

[lingdao]#滿足我們的第3要求

        comment = Lingdao
        path = /home/samba/lingdao
        public = no
        valid users = @lingdao,network02
        writeable = yes

[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]#滿足我們的第5要求。
        comment = read only Public
        path = /home/samba/public
        public = yes
        read only = yes

重啟服務:#/etc/rc.d/init.d/smb restart

到此配置結束,可以使用命令:testparm /etc/samba/smb.conf檢測samba配置文件

四、驗證samba
在windows下直接在運行里輸入:\\server
然后輸入相應用戶名和密碼就可以訪問

在linux下可以使用:

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

#以caiwu01用戶的名義登錄caiwu目錄

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

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