1. 程式人生 > >Linux學習之路—3.許可權管理

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 若是目錄,則只列出目錄本身屬性,而不是子檔案