文件權限
文件或目錄可存取的身份分為3類,owner/group/others (所屬者/所屬組/其他人) ,所以訪問一個文件或目錄的權限分為三種, 所有者權限,所屬組權限,其他人權限 (通過ll text.log查看)。 在linux系統中常用的權限分為3種 r(read) w(write) x(excute)。
對文件或目錄的權限進行修改時,要用到chmod命令
-
模式法
chmod WHO OPT[PER] FILE 修改文件權限 WHO:u g o a OPT:+ — = PER:r w x 例:chomd suer1+w file1 特殊權限X 只對目錄加x 對文件:無執行權限,不會增加x權限 任意3種人有執行權限,則都加
-
數字法
將rwx由二進制轉換為8進制: r:4 w:2 x:1 chmod NUMBER FILE --reference a b 將b的權限設置為和a一樣 例:chmod 762 file1
-
權限對目錄的意義
讀:只能查看目錄文件列表,不能訪問,也不能cd(查看,刪除)
執行:可以cd,不能ls,可以訪問目錄中的文件。執行時基礎權限
寫權取:配合x權限才生效
新建文件和目錄的默認權限
umask值 可以用來保留在創建文件權限,非特權用戶umask的值為:002;特權用戶 (root)的umask的值為:022。
新建文件(file)的默認權限:666-unmask
新建目錄(dir)的默認權限:777-umask
文件權限(file)所得結果某位存在執行權限(奇數),結果+1
UMASK掩碼:將文件對應的權限位去除
umask 查看 umask # 設定umask值 umask 022 umask -S 輸出方式顯示 umask -p 輸出可被調用 /etc/bashrc 全局設置 ~/.bashrc 用戶設置
特殊權限
- 任何一個可執行程序文件能不能啟動為進程,取決發起者 對程序文件是否擁有執行權限
- 進程的屬主為發起者,進程的屬組為發起者所屬的組
- 進程訪問文件時的權限,取決于進程的發起者
-
SUID(4):作用于文件所屬者,只能放在二進制可執行文件才有意義。
功能:繼承所有者權限運行該文件。
chmod u+s file1 chmod u-S file1 chmod 4777 file1
-
SGID(2):作用于文件所屬組。放在二進制可執行程序才有意義
功能:
- 任何用戶都將繼承所屬組權限運行該文件。
-
chmod g+s file1/dir1 chmod g-s file1/dir1 chmod 2777 file1/dir1
-
Sticky(1):作用于其他人。作用在目錄上才有意義。
功能:只有自己才能刪除自己的文件。
chmod o+s dir1 chmod o-s dir1 chmod 1777 dir1
Access Control List
-
除了文件的所有者,所屬組和其它人,可以對更多的用戶設置權限
-
CentOS7 默認創建的xfs和ext4文件系統具有ACL功能,之后的沒有
-
ACL生效順序:所有者,自定義用戶,自定義組,其他人
-
添加ACL之后的文件或目錄的權限后會有“+”標記
-
關于文件ACL的查看,設置和更改
getfacl file 查看 setfacl [options] [u/g]:[name]:[rwx] file 設置 -m -Rm -M -m -x -X
-
mask掩碼
mask只影響除所有者和other的之外的人和組的最大權限。Mask與用戶的權 限進行邏輯與運算后,變為有限的權限(Effective Permission)
- mask更改 setfacl -m mask::rwx file
原創文章,作者:kstg5663294,如若轉載,請注明出處:http://www.www58058.com/77309