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...