改變所有者和所屬組
在 UNIX 上創建一個帳戶時,系統會給每個用戶分配一個所有者 ID 和組 ID。所有上面提到的權限也會基於所有者和組進行分配。
如下的兩個命令可以改變一個文件的所有者和組:
chown:chown 表示的是 “change owner”,並且它是被用來改變一個文件的所有者。
chgrp:chgrp 表示的是 “change group”,並且它是被用來一個文件所屬的組。
改變所有者關系
chown 命令用來改變一個文件的所有者,它的基本語法如下:
復制代碼
代碼如下:
復制代碼
代碼如下:注意:超級用戶,root 用戶,擁有不受限制的權限,能夠更改所有文件的所有者,但是普通用戶只能修改他們所擁有的文件的所有者。
改變組關系
chgrp 命令被用來修改文件所屬的組。基本語法如下:
復制代碼
代碼如下:示例:
復制代碼
代碼如下:SUID 和 SGID 文件權限
通常執行一個命令時,為了完成該任務它必須擁有某些特殊的權限。
舉一個例子,當你使用 passwd 命令改變了你的密碼後,您的新密碼存儲在文件 /etc/shadow 中。
作為一個普通用戶,出於安全原因你沒有讀或寫訪問這個文件的權限,但是當你改變你的密碼時,你需要擁有對這個文件寫權限。這意味著 passwd 程序必須給你額外的權限,以便您可以編寫文件 /etc/shadow,也就是需要額外的權限。
通過設置用戶 ID(SUID)和組 ID(SGID) 位可以給程序額外的權限。
當您執行一個啟用了 SUID 的程序,你繼承了程序所有者的權限。啟動改程序的用戶就可以不用設置 SUID 直接運行該程序。
這對於 SGID 同樣是適用的。通常程序是按組的權限進行執行,除非你的組改變了該程序所屬組的擁有者。
如果 SUID 和 SGID 權限是可用的,它們將會以小寫的 “s” 出現。SUID 的 “s” 位通常位於權限中所有者執行權限的旁邊。如下:
復制代碼
代碼如下:如果對一個目錄設置了防刪除位(sticky bit),那麼只有你是如下任意一種用戶時你才可以刪除該文件:
該目錄的擁有者
被刪除文件的擁有者
超級用戶,root 用戶
你可以使用如下的方式設置任何目錄的 SUID 和 SGID 位。
復制代碼
代碼如下: