普通文件
r: 可以讀取文件的內容
w: 可以修改文件的內容
x: 可以執行該文件 執行腳本(不要隨便給文件加x權限)
目錄文件
r: 用戶可以列出目錄下有哪些文件(不能查看文件的詳細信息)
w: 只有w無意義。
x: 用戶可以進入該目錄(如果知道文件名,且有相對應的文件權限 ,可以執行對應的操作)
權限一般配合使用,不同權限配合有不同效果
rx: 用戶可以進入目錄,且可以長列出。


rw:等于只有r

wx: 能進入,能創建能刪除,不能列出。故用戶能否刪除文件與文件自身權限無關。


rwx: 全部權限。
—:null
權限設置
chmod ugo+rwx
a=rwx
a=
u=….,g=…,o=…
X 當文件本身沒有x權限時,則跳過,一般用于批量修改多個文件、目錄的權限時,自動跳過沒有執行權限的文件。
chmod -R a+x 所有文件目錄加x
chmod a-x -R 所有文件目錄減x
chmod a+X -R 只給目錄加x
umask
root 的umask是022
非特權用戶umask 是002
最大權限 777 666
umask 002 002
默認權限 775 664
當umask中全部是偶數時,可以直接減,當umask中包含奇數時,對于目錄直接減,對于文件,在奇數所在的位減完后加一。

復制文件權限為什么變?
復制文件時,文件不存在就創建,存在覆蓋,創建新文件基于最高權限減umask
復制文件基于原文件減umask
特殊權限
chmod u+s 4***
g+s 2***
o+t 1***
6 即有suig也有sgid
3 即有sgid也有sticky
5 即有suid也有sticky
7 all
特定權限
lsattr 查看特定屬性
chattr
+i 不能刪除不能改
+a 不能刪除,只能追加

ACL權限
ACL是Access Control List的縮寫,主要目的是提供傳統的owner、group、others的read、write、execute權限之外的權限設置。ACL可以針對單一用戶、單一文件或者目錄進行r、w、x的權限設置,對于需要特殊權限的使用狀況非常有幫助。

ACL權限判斷的順序
先判斷是否是文件的OWNER,如果是,則執行OWNER的權限后結束,如果不是OWNER,則判斷是否是ACL的USER,如果是則執行USER權限后結束,如果不是ACL的USER, 則判斷是否屬于GROUP或ACL GROUP,如果是,則取最大權限。如果不屬于任何GROUP,則執行OTHER。
所有人->所有組->其他人
備份和恢復ACL
主要的文件操作命令cp和mv 都支持ACL只是cp命令需要加上-p 參數。但是tar等常見的備份工具是不會保留目錄和文件的ACL信息

目錄文件,備份、刪除、恢復
getfaacl fstab > acl.txt 把acl權限導出 最好用相對路徑
setfacl -b fstab 清除所有的acl權限
setfacl -M acl.txt fstab 把備份的文件恢復到acl權限

原創文章,作者:jieran,如若轉載,請注明出處:http://www.www58058.com/83355