目錄通用許可權的管理擴展許可權的管理特殊許可權的管理許可權掩碼 在Linux中,許可權管理是通過文件系統中的許可權位來實現的。 通用許可權的管理 每個文件或目錄都有一個所有者、一個用戶組和其他用戶的許可權設置。主要的許可權包括讀取、寫入和執行。 文件許可權包括讀、寫和執行許可權: 讀許可權(r):允許用戶讀取文件的內容或列 ...
目錄
在Linux中,許可權管理是通過文件系統中的許可權位來實現的。
通用許可權的管理
每個文件或目錄都有一個所有者、一個用戶組和其他用戶的許可權設置。主要的許可權包括讀取、寫入和執行。
文件許可權包括讀、寫和執行許可權:
-
讀許可權(r):允許用戶讀取文件的內容或列出目錄的內容
-
寫許可權(w):允許用戶修改文件的內容或在目錄中創建、刪除和重命名文件
-
執行許可權(x):允許用戶執行文件,或允許用戶進入目錄
文件許可權共有九個位,分為三組,每組三個位,分別為:
-
所有者許可權:指定文件所有者的許可權
-
所屬組許可權:指定文件所屬組的許可權
-
其他用戶許可權:指定除所有者和所屬組以外的其他用戶的許可權
數字許可權表示法
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7
三位二進位所對應的10進位數。
修改許可權chmod
- 使用數字許可權表示法:
chmod 755 filename
# 將文件的許可權設置為755
即所有者具有讀、寫、執行許可權,組用戶和其他用戶只有讀和執行許可權。
- 使用符號許可權表示法:
使用 u g o a
分別代表 user group other all
使用 + - =
進行許可權賦值
比如:
chmod u+x filename
# 將文件的所有者許可權設置為可執行
chmod g-r filename
# 將文件的組用戶許可權設置為不可讀
chmod o=rwx filename
# 將文件的其他用戶許可權設置為讀、寫、執行
擴展許可權的管理
FACL (File Access Control List) 文件訪問控制列表,更細粒度地管理文件和目錄的許可權。
ACL 許可權分配:給指定的用戶指定目錄分配指定的許可權
當設置擴展許可權之後 .
會變成 +
setfacl 設定ACL許可權
-m 添加擴展許可權 u:用戶名 g:用戶組名:許可權字(rwx) 文件名
-x 取消擴展許可權 u:用戶名 g:用戶組名 文件名
-b 還原擴展許可權
getfacl 獲取擴展許可權列表
getfacl 文件名
比如:
要為文件example.txt設置用戶smileleooo的讀取和寫入許可權
setfacl -m u:smileleooo:rw example.txt
特殊許可權的管理
- Setuid(SUID): 當執行文件時,該文件將以所有者的身份而不是執行者的身份運行。
chmod u+s filename
- Setgid(SGID): 當執行文件時,該文件將以組的身份而不是執行者的身份運行。
chmod g+s filename
- Sticky Bit: 當應用於目錄時,只有目錄的所有者、文件的所有者和root用戶才能刪除目錄中的文件。
chmod +t directory
許可權掩碼
umask 是一個位掩碼,用於確定新建文件的預設許可權。它指定了在創建新文件或目錄時,系統將從許可權中掩碼掉的位。
umask 值是一個八進位數,表示為三位數字,每個數字代表了用戶、組和其他用戶的許可權位掩碼,其中 1 表示屏蔽,0 表示保留。
例如,如果umask值為022,則新建文件的預設許可權為666(rw-rw-rw-)減去022,得到644(rw-r--r--)。
umask的設置會影響新建文件的預設許可權,但不會影響現有文件的許可權。 umask值越低,新文件的預設許可權越高。
若有錯誤,歡迎指正!o( ̄▽ ̄)ブ