smb文檔服務器權限管理及場景示例

smb文檔服務器的部署比較簡單,可以參考的文章很多,關鍵是如何結合自己的需求進行細粒度的權限管理,本文給出了一些常見問題的解決方案,並給出了一個真實場景示例。

一、權限管理。

SMB可以實現細粒度的權限控制,這裏有幾個權限管理的常見問題及解決辦法。

1、文檔的讀寫權限控制。

由如下兩個指令控制:

read only = yes

writeable = yes

通過控制read only和writeable的yes或no來控制。

但是在使用過程中,經常會遇到操作文件或文件夾時,權限控制內的人卻不能上傳和下載,明明已經放開了讀寫權限,也有問題,這是因爲新建文件或文件夾的權限不夠,配置文件放開了讀寫的權限,但是linux系統控制的文件權限其實還沒有放開。舉一個形象的例子,如果你家大門被鎖,即使屋子裏的門敞開着,外人還是進不去,這裏的大門就是linux系統的讀寫權限限制,屋門就是smb配置文件的讀寫權限限制;

以下四個指令可以幫助解決這個問題,至於是否是777權限,可以根據實際情況配置。

create mask = 0777                    #創建文件

directory mask = 0777

force create mode = 0777          #創建文件夾

force directory mode = 0777

2、瀏覽權限控制。

由如下幾個命令控制:

browseable = yes                        #可以瀏覽,所有path路徑均需要加上此配置;

available = yes                            #可以訪問,所有path路徑均需要加上此配置;

3、人員權限控制。

由如下幾個命令控制:

public = yes                                #全部成員都可以訪問,無限制;

valid users = aaa,@bbb,ccc        #允許某些成員可讀(查看),用逗號隔開,用戶組用@組名錶示;

write list = aaa,ccc                      #允許某些成員可寫(上傳、下載、修改等);

4、用戶的添加和用戶組的添加。

第一步,添加用戶,使用命令useradd -d /xxx/yyy -s /sbin/nologin aaa,其中/xxx/yyy爲指定用戶登入時的主目錄,替換系統默認值/home/<用戶名> ,aaa爲用戶名

第二步,創建用戶的密碼,使用命令pdbedit -a -u aaa

輸入兩次即可。

第三步,創建用戶組,使用groupadd命令,建議直接在如下路徑下添加用戶組和用戶

vi 編輯/etc/group

命令如下:

組名:x:組號:aaa,bbb,ccc

示例:

FtpDepart:x:1076:zhangxx,lixx,liuxx

5、文件路徑控制

path = XXX,其中xxx爲文件的真實路徑

不同的文件路徑只需要進行不同的控制即可。

二、真實場景示例

場景目標:

1、公共文檔,供所有人訪問和使用;

2、項目文檔,供項目組成員訪問和使用;

3、技術組文檔,供技術組成員訪問和使用;

配置文件如下:

[global]

        workgroup = WORKGROUP

        security = user

        passdb backend = tdbsam

        printing = cups

        printcap name = cups

        load printers = yes

        cups options = raw

[homes]

        comment = Home Directories

        browseable = no

        valid users = %S,%D%w%S

        writeable = yes

        available = no

        inherit acls = Yes

[01-公共共享]

        comment = 公共共享

        browseable = yes                        #可以瀏覽;

        path = /var/ftp/01-公共共享        #文檔路徑

        guest ok = yes

        read only = yes                           #可讀

        writeable = yes                           #可寫

        create mask = 0777                    #新建文件權限

        directory mask = 0777               #新建文件夾權限

        force create mode = 0777    

        force directory mode = 0777

        public = yes                               #所有人開放;

        available = yes                           #路徑可以訪問;

[02-項目組X]

        comment = project-x

        browseable = yes

        path = /var/ftp/02-項目組X

        guest ok = yes

        read only = yes

        writeable = yes

        create mask = 0777

        directory mask = 0777

        force create mode = 0777

        force directory mode = 0777

        valid users = @aaa,@bbb                  #允許項目組aaa和bbb成員查看;

        write list = @aaa,@bbb                     #允許項目組aaa和bbb成員查看;

        available = yes

[03-技術組Y]

        comment = te-y

        browseable = yes

        path = /var/ftp/03-技術組Y

        guest ok = yes

        read only = yes

        writeable = yes

        create mask = 0777

        directory mask = 0777

        force create mode = 0777

        force directory mode = 0777

        valid users = @ccc,@ddd                   #允許技術組ccc和ddd成員查看;

        write list = @ccc,@ddd                      #允許技術組ccc和ddd成員查看;

        available = yes

組配置文件如下:

cat /etc/group查看最後幾行。

aaa:x:1094:a1,a2,a3,a4,a5,a6

bbb:x:1095:b1,b2,b3,b4,b5,b6,b7,b8,b9,b10

ccc:x:1096:c1,c2,c3,c4,c5,c6,c7

ddd:x:1097:d1,d2,d3,d4,d5

這樣就實現了場景所要求的目標。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章