2021-05-12 14:32:11
Linux許可權管理_檔案特殊許可權
一、SetUID功能
設定SetUID的方法
4代表SUID s代表SUID許可權 S代表報錯了,原因沒有執行許可權
# chmod 4755 檔名(最好用這種方法)
# chmod u+s 檔名
取消SetUID的方法
# chmod 755 檔名
# chmod u-s 檔名
- 只有可以執行的二進位制程式才能設定SUID許可權
- 命令執行者要對該程式擁有執行許可權
- 命令執行者在執行該程式是獲得該程式檔案屬主的身份(在執行程式的過程中靈魂附體為檔案的屬主)
- SetUID許可權只在該程式執行過程中有效,也就是說身份改變只在程式執行過程中有效
檢視SUID許可權
# ll /usr/bin/passwd
二、SetGID功能
設定SetGID的方法
2代表SGID s代表SGID許可權
# chmod 2755 檔名(最好用這種方法)
# chmod u+g 檔名
取消SetGID的方法
# chmod 755 檔名
# chmod u-g 檔名
SetGID針對檔案的作用
- 只有可以執行的二進位制程式才能設定SGID許可權
- 命令執行者要對該程式擁有執行許可權
- 命令執行者在執行該程式時,組身份升級為該程式檔案的屬組
- SetGID許可權只在該程式執行過程中有效,也就是說身份改變只在程式執行過程中有效
locate命令屬於mlocate包,使用命令前要先更新資料庫updatedb,查詢速度老快啦,但是locate命令需要實時跟新資料庫,否則新建立的檔案檢索不到,而且/tmp目錄下的檔案也無法查詢
- /usr/bin/locate是可執行的二進位制程式,可以賦予SGID
- 執行使用者test對/usr/bin/locate命令擁有執行許可權
- 執行/usr/bin/locate命令時,組身份會升級為slocate組,而slocate組對/var/lib/mlocate/mlocate.db資料庫擁有r許可權,所以普通使用者可以使用locate命令查詢mlocate資料庫
- 命令結束,test使用者的組身份返回test組
SetGID針對目錄的作用
- 普通使用者必須對此目錄擁有r和x許可權,才能進入此目錄
- 普通使用者在此目錄中的有效組會變成此目錄的屬組
- 若普通使用者對此目錄擁有w許可權時,新建的檔案的預設屬組是這個目錄的屬組
舉例說明:
# mkdir /tmp/test 建立test目錄
# chmod 2777 /tmp/test/ 給test目錄賦予SGID許可權
# su – acl 切換到acl使用者
# cd /tmp/test/ 進入test目錄
# touch test.txt 建立test.txt檔案
# ll 檢視test檔案屬性所有者是test,但是所屬組是root
三、Sticky BIT功能(黏著位)(如tmp目錄)
- 黏著位目前只對目錄有效
- 普通使用者對該目錄擁有w和x許可權,即普通使用者可以在此目錄擁有寫入許可權
- 如果沒有黏著位,因為普通使用者擁有w許可權,所以可以刪除此目錄下所有檔案,包括其他使用者建立的檔案。一旦賦予了黏著位,除了root可以刪除所以檔案,普通使用者就算擁有w許可權,也只能刪除自己建立的檔案,但是不能刪除其他使用者建立的檔案。
設定Sticky BIT的方法
1代表SBIT t代表SBIT許可權
# chmod 1755 檔名
# chmod o+t 檔名
取消SBIT的方法
# chmod 755 檔名
# chmod o-t 檔名
四、檔案系統屬性許可權chattr許可權(該許可權針對root使用者)
語法:
# chattr [+-=][選項] 檔名 設定chattr屬性
# lsattr –a 檔名 檢視chattr屬性
-R遞回顯示子目錄下的檔案,-d檢視目錄本身
選項:
i:如果對檔案設定i屬性,那麼不允許對檔案進行刪除、改名,也不能新增和修改資料;如果對目錄設定i屬性,那麼只能修改目錄下檔案的資料,但不允許建立和刪除檔案。
a:如果對檔案設定了a屬性,那麼只能在檔案中增加資料,但是不能刪除也不能修改資料;如果對目錄設定a屬性,那麼直允許在目錄中建立和修改檔案,但是不允許刪除。
五、系統命令sudo許可權
- root把本來只能超級使用者執行的命令賦予普通使用者來執行
- sudo的操作物件是系統命令
設定方法:
# visudo 或者 # vim /etc/sudoers
root ALL=(ALL) ALL
使用者名稱 被管理主機的地址=(可使用的身份) 授權命令(絕對路徑)
%test ALL=(ALL) ALL
組名 被管理主機的地址=(可使用的身份) 授權命令(絕對路徑)
本文永久更新連結地址:http://www.linuxidc.com/Linux/2017-01/140001.htm
相關文章