在linux系統下文件的權限通常會以下面的格式顯示出來:

Chmod文件權限: 權限的管理chmod
-a 所有的權限 -u 文件所有者的權限 -g 組權限 -o 其他用戶的權限
可以使用運算符來設置權限 + - =
r 可讀 w 可寫 x 可執行 也可以用八進制的數字代表全權限:0 1 2 3 4 5 6 7
0 代表什么權限也沒有
1 x 可執行的
2 w 可寫的
3 w+x wx
4 r 可讀的
5 r+x
6 r+w
7 r+w+x
Umask文件權限

在linxu系統創建之初,為了安全起見任何用戶所創建的文件的都沒有可執行的權限x,文件的的權限為777-111=666.而我們所創建出的文件的權限都為644,
也就是說只有文件所有者有讀寫的權限,組、其他人只有可讀的權限,這是因為 Umask=0022.
第一個0 代表文件的特殊權限
第二個0 代表文件所有者
第三個0 代表所有組
第四個0 代表 其他人
Umask是拿走的意思,就好比文件的權限是666,umask=022,剩下的就是文件的權限。
修改umask的值 #umask=
重啟系統后umask的值就會又被還原到0022,永久生效可以可以修改用戶目錄下面的.bash_PRofile這個文件。
ACL規則:
當文件,目錄的權限不夠用時,就要使用acl規則,來更細的劃分文件的權限。
root是唯一有權設置acl規則的的用戶。
選項
-b,--remove-all
刪除所有擴展的acl規則,基本的acl規則(所有者,群組,其他)將被保留。
-k,--remove-default
刪除缺省的acl規則。
-n, --no-mask
不要重新計算有效權限。setfacl默認會重新計算acl mask,除非mask被明確的制定。
-mask
重新計算有效權限,即使acl mask被明確指定。
-d,--default
設定默認的acl規則。
-restore=file
從文件恢復備份的acl規則(這些文件可由getfacl -R產生)。通過這種機制可以恢復整個目錄樹的acl規則。此參數不能和除--test以外的任何參數一同執行。
--test
測試模式,不會改變任何文件的acl規則,操作后acl規則將被列出。
-R,--recursive
遞歸的對所有文件及目錄進行操作。
-L,--logical
跟蹤符號鏈接,默認情況下只跟蹤符號鏈接文件,跳過符號鏈接目錄。
-P,--physical
跳過所有符號鏈接,包括符號鏈接文件。
--version
輸出setfacl的版本號并退出。
--help
輸出幫助信息。

首先看下file文件的權限:

所有者所屬組均為root,系統中的用戶缺省為rw,其他人可讀。
現在讓小明可以rw,rehat用戶沒有任何權限,其他人也沒有任何權限。

其他人沒權限:

Redhat用戶沒權限:
測試下:

新聞熱點
疑難解答