1.訪問用戶和權限
2.suid和sgid
3.sticky bit(t 或 T ,多被稱作”粘著位”或”防刪除位”)
訪問用戶和權限
文件和目錄的訪問權限對如下3 類用戶進行了分別定義:
文件擁有者(u)
文件擁有者所在用戶組中的其它成員(g)
所有其它用戶(o)
每個文件均擁有下列三種權限:
read (r): 查看文件內容
write (w): 修改文件
execute (x): 如同命令一樣執行文件
每個目錄均擁有下列三種權限:
read (r): 列出目錄內容
write (w): 在目錄中增刪文件
execute (x): 訪問目錄中的文件
需要指出的是,對目錄的 execute 權限,不僅意味著允許查看目錄下文件名,還允許查看文件的其它信息如文件大小、修改時間。
ls 可用來顯示目錄和文件的這些信息。使用 ls 的-l 選項,就會按如下順序顯示下列信息:
文件類型(第 1 個字符)
-: 普通文件
d: 目錄
l: 符號鏈接
c: 字符型設備節點
b: 塊設備節點
p: 命名管道
s: 套接字
文件訪問權限(接下來的 9 個字符,每 3 個一組分別表示 user、group 和 other的訪問權限)。
文件的硬鏈接數
文件擁有者 user 的用戶名
文件所屬工作組 group 的用戶組名
文件的字符數大小 (單位為bytes)
文件的時間和日期 (mtime)
文件的名稱
在Linux/Unix中的權限除了execute (x)這種基本的可執行權限以外,還有另外三種特殊的可執行權限,分別是set user ID (s 或 S 代替 user’s x),set group ID (s 或 S 代替 group’s x)和sticky bit (t 或 T 代替 other’s x),現在我們來分別說明。
suid和sgid
一、execute (x)
眾所周知,execute是最基本的可執行權限,對於普通文件比較容易理解,就是文件本身具有可以被執行的權限,如一些二進制文件(例如,bin和sbin目錄下的文件)、腳本文件(shell腳本)等等。重點我們注意一下目錄的可執行權限,目錄無所謂執行不執行,目錄只能否被開啟(也稱作“遍歷”或“搜索”)。
簡單說明一下,如果某用戶對於父目錄有開啟的權限,那麼該用戶可能有機會對它的子目錄或文件進行讀取。否則即使該用戶有其子目錄或文件的讀取權限也不能正常訪問子目錄或文件。