設置共享文件夾,samba和chmod到底誰的權限大


1,必備知識。已經知道的請跳過。

首先科普一下這兩個東西:sambachmod其實是完全不同層面的東西,一個是共享服務協議,一個是權限設置語句。但是他們有一個共同的用途:可以用來實現設置一個共享文件夾的訪問權限。

Samba

Samba是用來實現SMB的一種軟件,咱們在這里在了解一下SMB(Server MessageBlock,服務信息塊)。SMB協議可以看作是局域網上的共享文件/打印機的一種協議,它可以為網絡內部的其它Windows和Linux機器提供文件系統、打印服務或是其他一些信息。

Chmod

可以使用命令chmod來為文件或目錄賦予權限。Linux/Unix 檔案存取權限分為三級 : 檔案擁有者、群組、其他。利用 chmod 可以藉以控制檔案如何被他人所存取。

abc權限設置

其中a,b,c各為一個數字,分別表示UserGroup、及Other的權限。

r=4w=2x=1

若要rwx屬性則4+2+1=7

若要rw-屬性則4+2=6

若要r-x屬性則4+1=5

 

2,使用方法。

Samba設置一個文件夾的權限步驟:

1)編輯samba配置文件:sudo vi /home/etc/samba/smb.conf

內容如下:

[共享文件夾名]

Path=/home/…/文件夾名

Valid user=用戶名1,用戶名2,用戶名3…

Create mask=0777(此處權限設定依具體情況而定)

2)重啟samba使之生效:sudo smbd restart

 

chmod更改一個文件夾的權限步驟:

格式:chmod [-cfvR] [--help] [--version] abc /home/…/文件夾名

 

3,比較實驗。

那么這兩個家伙誰的權力大,誰的級別高呢,我做了如下一系列的實驗:

創建一個文件夾,修改smb.conf設置其為共享文件夾。此時,同時修改chmodvalid user來進行比較。

1chmod abc>770 (如771,772,773,775,776,777 ;  valid user= user name A      =>  A有讀,寫,執行權限

2chmod abc<760 valid user= user name A   =>  A的權限完全受制於chmod abc,與samba設置無關

3chmod abc>770 (如771,772,773,775,776,777 ;  valid user內不包含 user name A (A為group user或者owner)     =>  A無讀,寫,執行權限

4chmod abc<760  ;  valid user內無 user name A    (A為group user或者owner)  =>  A無讀,寫,執行權限

 

4,結論。

chmodsamba近端遠端共同控制着一個文件夾的訪問權限,相當於一條路的兩道關卡,要想通過,缺一不可。chmod是本地控制,對各級用戶使用權限具有本地決定權;samba是網端控制,在開放chmod權限的前提下(通常是至少770),才能使用samba進一步設置特定用戶權限,具有網端決定權。

 

5,特殊說明。

1)若所共享的文件夾處於某一用戶目錄下,則對於該目錄訪問權限,該用戶僅受本地chmod abc控制,samba對於設置無效。若將文件夾置於root目錄下,則不存在這個問題。

2samba中的valid user對文件夾的ownergroup user other具有同等的權限賦予能力。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM