用戶相關命令與文件權限(普通、特殊、隱藏、ACL)
1.用戶相關命令
useradd - 創建用戶,默認創建與用戶名同名的用戶組
groupadd - 創建用戶組
usermod - 修改用戶的屬性,如UID、所屬組、附加組等
passwd - 修改密碼相關屬性,如修改密碼、密碼過期時間等
userdel - 刪除用戶
groupdel - 刪除用戶組
umask - 查看/設置用戶創建文件/目錄時默認需要去掉的權限
文件用rw-rw-rw-去減,目錄用rwxrwxrwx去減
chown - 設置文件/目錄所屬用戶/用戶組
-R遞歸
su - 切換用戶身份
加-與不加-的區別:環境變量是否切換到新用戶,加-切換,不加-不切換。
sudo - 以其他用戶的身份執行命令
可以使用visudo編輯sudo服務的配置文件
只有root用戶才可以使用visudo命令
格式
誰可以使用 允許使用的主機=(以誰的身份) 可執行命令的列表
如:root ALL=(ALL:ALL) ALL # ALL:ALL表示任何用戶:任何組
yc ALL=(ALL) NOPASSWD: ALL # NOPASSWD:表示不用輸入密碼
2.文件類型
- 普通文件
d 目錄文件
l 連接文件
b 塊設備文件
c 字符設備文件
p 管道文件
3.文件普通權限
|
文件所有者 |
文件所屬組 |
其他用戶 |
字符 |
rwx |
rwx |
rwx |
r - 4; w - 2; x - 1
4.文件特殊權限
4.1 SUID
對二進制程序設置的特殊權限,可以讓二進制程序的執行者在執行該二進制程序時擁有該二進制程序屬主的權限。
如/bin/passwd,該程序權限為rwsr-xr-x,在執行該二進制程序會修改用戶密碼,而用戶密碼保存在/etc/shadow中,/etc/shadow的權限為000,那麽s權限就保證了其他用戶執行該二進制程序時,可以暫時使用root身份去修改shadow文件。
chmod u+s /xx/yy/zz
註:原先user的可寫位有x則為s,無x則為S
4.2 SGID
兩個功能
1. 對二進制程序設置的特殊權限,可以讓二進制程序的執行者在執行該二進制程序時擁有該二進制程序屬組的權限。
如ps,權限為r-xr-sr-x,執行時要訪問/dev/kmem(kmem為字符設備文件,用於儲存內核程序要訪問的數據)
chmod g+s /xx/yy/zz
2.針對目錄進行設置,可以讓在該目錄下新建或者新傳送過來的文件自動繼承該目錄的用戶組。
適用於組內目錄共享的情況,組內無論誰新建的文件屬組均為該組。
chmod -R g+s /xx/yy/
註:原先group的可寫位有x則為s,無x則為S
4.3 SBIT
保護位,對針對目錄設置,設置後除非該目錄的所有者,否則無權限刪除該目錄下的文件,即便有w權限
文件能否被A用戶刪除取決於A用戶對文件所在目錄是否有w權限,而不是對該文件是否有w權限
適用於組內目錄共享的情況,組內的其他人即便有對某人的文件夾查看權限,但不得刪除。
chmod -R o+t /xx/yy/
註:原先other的可寫位有x則為t,無x則為T
5.文件隱藏權限
5.1 setattr
設置(+)/取消(-)隱藏權限
5.2 lsattr
查看隱藏權限
5.3常見隱藏權限
i - 文件:無法修改;目錄:僅能修改目錄中的子文件,不能新建/刪除子文件
a - 僅允許追加內容,不能修改/刪除原內容
S - 文件內容變更後立即同步到硬盤
s - 徹底從硬盤中刪除,不可恢復(原硬盤區域用0填充)
d - 使用dump備份時忽略本文件/目錄
u - 刪除該文件後依然保持其在硬盤中的數據
6.文件訪問控制列表ACL
6.1理解
普通權限、特殊權限、隱藏權限均是以user、group、other三組為維度進行訪問控制的;
ACL是以用戶為維度進行訪問控制的,即可以指定任何一個用戶對某文件/目錄進行訪問的權限。(如x文件other權限為r--,現想讓other裏面的vbird為rwx,other裏面的其他人仍然為r--,就要用到ACL)
如果針對某個目錄設置了ACL,則目錄中的文件會繼承ACL;
如果針對某個文件設置了ACL,則文件不再繼承其所在目錄的ACL;
註:在ls時,權限位的最後若為“.”,表示沒有設置ACL;若為“+”表示該文件/目錄設置了ACL。
6.2 setfacl
設置文件/目錄的ACL
R - 針對目錄設置ACL
m - 針對文件設置ACL
b - 刪除文件/目錄的ACL
例:
使用ACL限制yc用戶組中的所有成員不得在/tmp目錄寫入內容
解析:
不得在目錄中寫入內容,即不允許在目錄下新增/刪除文件(對目錄去掉w),不允許修改文件(對文件去掉w),故命令如下:
setfacl -Rm g:yc:r-x /tmp
6.3 getfacl
查看文件/目錄的ACL
7.文件相關命令
chmod - 設置文件權限,包括隱藏權限
可以使用如chmod go+wx x.file的方式
-R遞歸
用戶相關命令與文件權限(普通、特殊、隱藏、ACL)