基本許可權和歸屬特殊許可權ACL許可權
許可權和歸屬
訪問許可權
r 讀取:允許檢視內容-read
w 寫入:允許修改內容-write
x 可執行:允許執行和切換execute
歸屬關係
u 所有者:擁有此檔案/目錄的使用者user
g 所屬組:擁有此檔案/目錄的組 group
o 其他使用者: 除所有者,所屬組以外的使用者other
注意:當用戶對一個目錄有w許可權時,即使對此目錄下的檔案沒有w許可權,可以通過vim強制修改。!
# echo 123>> /abc/redhat.txt //失敗許可權不夠
#vim /abc/redhat.txt //:wq強制儲存成功
設定基本許可權
chmod 命令
格式: chmod [ugoa] [+-=][rwx] 檔案...
chmod [nnn] 檔案...
常見命令選項
-R : 遞迴修改許可權
#chmod g+w,o-rx /data/test //使用字元形式改許可權
#chmod 755 /data/test //使用數字形式改許可權
檔案或目錄的預設許可權? 為什麼檔案預設許可權是644?
一般檔案預設均不給x執行許可權,其他取決於umask設定
#umask
#umask -S
#umask 0027
建立資料夾時,直接設定許可權
mkdir -m 選項
#mkdir -m 755 udir2
歸屬控制
設定歸屬關係
chown 命令
chown 屬主 檔案...
chown 屬主:屬組 檔案...
chown :屬組 檔案...
常用命令選項
-R :遞迴修改許可權
特殊許可權概述:疊加於許可權位的u, g, o 分組之上; 用來傳遞/設定 ,程式執行者 身份
類別 | 字元表示 | 數字表示 | 疊加位置 |
Set UID | s | 4 | User的x 位 |
Set UID | s | 2 | Group的x位 |
Sticky Bit | t | 1 | Other的x位 |
Set UID 概述
1. 僅對可執行的程式有意義;
2. 當其他使用者執行帶SUID標記的程式時,具有此程式屬主的身份和相應的許可權
3. 佔用屬主(User)的 x位;
4. 顯示為s 或 S ,取決於屬主是否有x許可權;
Set GID概述
SGID 許可權
1. 對可執行的程式/目錄有效
2. 當其他使用者執行帶SGID標記的程式時, 具有程式屬組的身份和相應許可權
3. 在一個具有SGID許可權的目錄下,新建的文件會自動繼承此目錄的屬組身份。
4. 佔用屬組 Group 的 x 位
5. 顯示為s或S ,取決於屬組是否有x許可權 (小寫 s 包含有許可權)
測試:
當未設定目錄的SGID 許可權時,對於新建文件的屬組; 誰建立,誰擁有
當設定了SGID 許可權時, 對於新建文件的屬組; 上層目錄歸誰,就歸誰
#chmod g+s /nsdpublic/
#mkdir /nsdpublic/nsd2
Sticky Bit 概述
粘滯位,
1. 適用於目錄,用來限制使用者濫用寫許可權
2. 在設定了粘滯位的資料夾下,即使使用者有寫入許可權,也不能刪除或改名其他使用者文件
3. 佔用其他人(other)的 x位
4. 顯示為t 或T ,取決於是否其他人是否有x許可權
#mkdir -m 777 /stdir
#chmod o+t /stdir
#cd /stdir
# rm -rf root.file //無法刪除, 許可權不夠
ACL許可權概述:
注意: EXT系列 檔案系統才支援!
ACL許可權的作用
檢視ACL許可權
getfacl 命令
格式 : getfacl 檔案或目錄
注意: 大部分文件預設不會設定任何額外的ACL策略
定義ACL控制策略
sefacl命令
格式 : setfacl [選項] u:使用者名稱:許可權 檔案...
setfacl [選項] g:組名:許可權 檔案...
常用命令選項
-m : 定義一條ACL策略
-x : 清除指定的ACL策略
-b : 清除所有已設定的ACL策略
-R : 遞迴設定ACL策略
-d : 為目錄設定預設許可權(子文件自動繼承)
例子: 為/root 設定acl策略; 使使用者stu01具有rx許可權
#setfacl -m user:stu01:r-x /root
#ls -ld /root
#getfacl /root
例子;為/acltest 設定預設許可權;其下新建的文件,使用者zengye都有rwx許可權
#setfacl -dm user:zengye:rwx /acltest
#setfacl -m m:r /acltest/nfile
問題/注意:無法修改掛載點的目錄許可權
#chmod o+w /media/ //無法更改/media的許可權;
因為光碟裝置一般不可刻錄的,所以不支援寫入;因此給掛載點設定w寫入許可權會報錯