Linux學習之路—3.許可權管理
重新掛載檔案系統使修改生效,也可以重啟系統。
使用命令開啟acl許可權:mount -o remount ,acl 分割槽目錄
1. /etc/fstab 自動掛載配置檔案
2.查詢acl許可權是否啟用(預設都啟用了)
--------------------------------------------------------------------------------------------------------------------
3.檢視ACL命令:getfacl 檔名
4.設定ACL許可權:setfacl 選項 檔名
-m 設定ACL許可權 -x 刪除指定的ACL許可權 -b 刪除所有的ACL許可權
-d 設定預設的ACL許可權 -k 刪除預設的ACL許可權 -R 遞迴設定ACL許可權
ACL許可權用法:除了使用者組裡面的使用者以外,額外添加個別用戶或個人組訪問資料夾
eg:setfacl -m u:liangyong:rw /yong 給liangyong使用者訪問/yong資料夾的rw許可權
eg:setfacl -m g:liangyong:rw /yong 給liangyong使用者組訪問/yong資料夾的rw許可權
--------------------------------------------------------------------------------------------------------------------
最大有效許可權:mask
mask的許可權會和使用者的許可權做"與"運算,得出的結果為使用者的許可權
setfacl -m m:rw 資料夾 修改資料夾的最大有效許可權為rw
這時候mask最大有效許可權是rw,使用者的許可權是rwx,與運算結果為rw,所以這個使用者對資料夾的許可權為rw
--------------------------------------------------------------------------------------------------------------------
SetUID
SUID許可權 =4
作用:讓普通使用者暫時擁有root的許可權,然後去執行root的命令和程式 (升級為超人)
條件:
1.只有可執行的程式能設定SUID許可權(SUID許可權僅對二進位制程式有效 )
2.命令的執行者(普通使用者)要有這個程式的x(執行)許可權
3.只有在命令執行時有效
4.普通使用者將具有該程式root(owner)的許可權
eg:chmod 4755 abc 給abc檔案賦予
注意:如果ll 列出檔案的時候,前面許可權s是大寫的S,說明系統報警,其他使用者沒有執行許可權
SetGID(和SUID一樣,可以對目錄起作用)
SGID許可權=2
作用:SGID既可以給可執行檔案用,也可以給目錄
條件:
1、SGID對二進位制程式有用;
2、程式執行者對於該程式來說,需具備x的許可權;
3、SGID主要用在目錄上;
SBIT(粘著位)
Sticky BIT =1
作用:讓普通使用者即使有w許可權,也只能刪除自己建立的目錄
條件:SBIT只對目錄有效,並且普通使用者要對目錄有wx許可權,才可以。粘著位對root無效
說明:一旦有粘著位許可權,除了root可以刪除所有許可權,普通使用者就算擁有w許可權,也只能刪除自己建立的檔案,不能刪除其他使用者建立的檔案。
最具有代表的就是/tmp目錄,任何人都可以在/tmp內增加、修改檔案(因為許可權全是rwx),但僅有該檔案/目錄建立者與 root能夠刪除自己的目錄或檔案。
--------------------------------------------------------------------------------------------------------------------
chattr(對系統中重要資料起到保護作用)
chattr=change file attributes on a Linux file system
作用:改變檔案系統屬性的許可權,對root也管用
用法:chattr 【+ - =】 選項 檔案或資料夾
-i 對檔案:不允許對檔案進行刪除、改名、新增、修改(等於鎖定檔案,保護所有資料)
-i 對資料夾:只能修改目錄下檔案的資料,但不允許建立和刪除檔案(保護所有資料)
-a對檔案:只能在檔案中增加資料,不能刪除和修改資料(保護現有資料)
-a對資料夾:只允許在目錄中建立和修改檔案,不允許刪除(保護現有資料)
lsattr
作用:檢視檔案系統屬性
-a 顯示所有檔案和目錄的系統屬性
-d 若是目錄,則只列出目錄本身屬性,而不是子檔案