參考書籍:linux就該這么學
5 用戶身份與文件權限
5.1 用戶身份與能力
強烈推薦大家在學習時使用 root 管理員權限!因為在 Linux 的學習過程中如果使用普通用戶身份進行操作,則在配置服務之后出現錯誤時很難判斷是系統自身的問題還是因為權限不足而導致的;這無疑會給大家的學習過程徒增坎坷。更何況我們的實驗環境是使用 VMware 虛擬機軟件搭建的,可以將安裝好的系統設置為一次快照,這即便系統徹底崩潰了,您也可以在 5 秒鐘的時間內快速還原出一臺全新的系統,而不用擔心數據丟失。
5.1.1 useradd 命令 用于創建新的用戶
5.1.2 groupadd 命令 用于創建用戶組
5.1.3 usermod 命令 用于修改用戶的屬性
5.1.4 passwd 命令 用于修改用戶密碼、過期時間、認證信息等
5.1.5 userdel 命令 用于刪除用戶
5.2 文件權限與歸屬
5.3 文件的特殊
5.3.1 SUID 是一種對二進制程序進行設置的特殊權限,可以讓二進制程序的執行者臨時擁有屬主的權限
5.3.2 SGID
? 讓執行者臨時擁有屬組的權限(對擁有執行權限的二進制程序進行設置);
? 在某個目錄中創建的文件自動繼承該目錄的用戶組(只可以對目錄進行設置)
5.3.3 SBIT
現在,大學里的很多老師都要求學生將作業上傳到服務器的特定共享目錄中,但總是有
幾個“破壞分子”喜歡刪除其他同學的作業,這時就要設置 SBIT(Sticky Bit)特殊權限位了
(也可以稱之為特殊權限位之粘滯位)。SBIT 特殊權限位可確保用戶只能刪除自己的文件,而不能刪除其他用戶的文件。換句話說,當對某個目錄設置了 SBIT 粘滯位權限后,那么該目錄中的文件就只能被其所有者執行刪除操作了。
5.4 文件的隱藏屬性
5.4.1 chattr 命令 用于設置文件的隱藏權限
5.4.2 lsattr 命令 用于顯示文件的隱藏權限
5.5 文件訪問控制列表
如果希望對某個指定的用戶進行單獨的權限控制,就需要用到文件
的訪問控制列表(ACL)了。通俗來講,基于普通文件或目錄設置 ACL 其實就是針對指定的用戶或用戶組設置文件或目錄的操作權限。另外,如果針對某個目錄設置了 ACL,則目錄中的文件會繼承其 ACL;若針對文件設置了 ACL,則文件不再繼承其所在目錄的 ACL。
5.5.1 setfacl 令用于管理文件的 ACL 規則
5.5.2 getfacl 用于顯示文件上設置的 ACL 信息
5.6 su 命令與 sudo 服務