linux高階許可權suid sgid sticky

2021-08-04 22:59:38 字數 1857 閱讀 5927

1.分析以下問題:

[root@w_hat ~]# ll /root/file1.txt

-rw-r–r–. 1 root root 0 aug 4 16:13 /root/file1.txt

[sfj1@w_hat ~]$ cat /root/file1.txt

cat: /root/file1.txt:permission denied

可以看到對於file1檔案,其他人對於其有讀取的許可權,可是切換到其他人使用者時,為什麼會出現許可權不夠的問題呢?

大家都知道,passwd命令對於所有使用者都是可以使用的,那麼我們來看一下passwd和cat命令有什麼區別呢?

大家可以明顯看到,passwd命令檔案是紅色的,並且在其許可權位置,出現了我們從未看到過的s許可權。這又是什麼?

這就是高階許可權

suid 4

sgid 2

sticky 1

其實呢,對於設定許可權來說,我們之前提到的777是不完全的,他真正的許可權應該是0777

而第一位的0就是這裡所說的高階許可權

==示例1==

suid許可權【普通使用者可以通過suid提公升一定的權力】

[root@w_hat ~]# chmod u+s /usr/bin/cat

[root@w_hat ~]# ll /root/file1.txt

-rw-r–r–. 1 root root 0 aug 4 16:13 /root/file1.txt

[sfj1@w_hat ~]$ cat /root/file1.txt

可以發現,起初我們發現的問題解決了,可以通過cat命令看到/root/file1.txt的內容

這就是suid的作用:普通使用者使用具有suid許可權的命令,會獲得此許可權所有者的身份,換句話說等同於所有者在執行這條命令

==示例2==

sgid許可權【新建檔案繼承目錄的屬組—-sgid許可權只針對目錄】

[root@w_hat ~]# mkdir /home/hr

[root@w_hat ~]# chgrp hr /home/hr/

[root@w_hat ~]# chmod g+s /home/hr

[root@w_hat ~]# ll -d /home/hr/

drwxr-sr-x. 2 root hr 4096 dec 5 16:03 /home/hr/

[root@w_hat ~]# touch /home/hr/file9

[root@w_hat ~]# ll /home/hr/

-rw-r–r–. 1 roothr0 dec 5 16:03 file9

可以發現新建的檔案繼承了目錄的屬組,而不是root組

==示例3==

sticky許可權【使用者只能刪除自己的檔案—–該許可權只針對目錄】

[root@w_hat ~]# mkdir /home/dir1

[root@w_hat ~]# chmod 777 /home/dir1

user1在/home/dir1建立檔案, user2嘗試刪除!

[root@w_hat ~]# chmod o+t /home/dir1

[root@w_hat ~]# ll -d /home/dir1

rwxrwxrwt 2 root root 4096 09-02 02:26 /home/dir1

誰可以刪除:

root

檔案的所有者

目錄的所有者

Linux高階許可權管理

傳統的ugo rwx wx wx 許可權模型,無法解決當多個組需要對乙個檔案執行某些許可權的問題.acl 訪問控制列表access control list一種高階的許可權機制,允許我們對檔案或者資料夾進行高階的設定,acl允許針對不同使用者 不同組隊對乙個目標檔案或資料夾進行許可權設定,不受ugo...

Linux高階許可權管理

高階許可權acl 修改屬主的許可權 setfacl m u 許可權 a.txt 修改屬組的許可權 setfacl m g 許可權 a.txt 修改其他人的許可權 setfacl m o 許可權 a,txt 修改具體某乙個使用者的許可權 setfacl m u 使用者名稱 許可權a.txt 修改具體某...

許可權管理 高階許可權

一.高階許可權管理acl 使用setfacl命令可以對每乙個檔案或者目錄設定更精確的檔案許可權,比如 讓某乙個使用者對某一檔案具有某種許可權.這種獨立於u,g,o的rwx許可權之外的具體許可權設定叫acl,它可以對單一使用者,單一檔案或者目錄進行r,w,x的許可權控制.1.getfacl opt a...