1)只有可執行二進位制程式才能設定suid許可權
2)命令執行者要對該程式擁有x(執行)許可權(如果當前檔案沒有執行許可權,著會出現大s許可權,大s許可權是無效的,s=s+x,s才是超級許可權。)
3)命令執行者在執行該程式時獲得該程式檔案屬主身份
4)setuid許可權只在程式執行過程中有效
5)設定setuid方法 許可權4代表suid
chmod 4755 [檔名]
chmod
u+s[檔名]
取消setuid
chmod
u-s[檔名]
chmod 0755 [檔名]
我們可一看出,設定了setuid後的檔案,在使用者許可權那裡,執行許可權變為s
[root@localhost ~]# chmod 4755 1
[root@localhost ~]# ll 1
-rwsr-xr-x. 1 root root 47
12月 820:
121
passwd擁有setuid許可權,所以普通使用者可以修改自己密碼讓沒有許可權的人執行時獲得所有者的許可權,這個所有者一般為root,常見應用如passwdcat命令沒有setuid許可權,所以普通使用者不能檢視/etc/shadow檔案內容
檔案所有者要有x許可權才有意義,所有者沒有執行許可權它就會變s
#!/bin/bash
find / -perm -4000 -o -perm -2000> /tmp/setuid.check
for i in $(cat /tmp/setuid.check)
dogrep $i /home/suid.log> /dev/null
if [ "$?" != "0" ]
then
echo
"$i isn't in listfile!">>/home/suid_log_$(date +%f)
fidone
rm -rf /tmp/setuid.check
1.1)setgid針對檔案的作用
2)只有可執行二進位制程式才能設定sgid許可權
3)命令執行者要對該程式擁有x(執行)許可權
4)命令執行執行程式時,組身份公升級為該程式檔案的屬組
5)setgid許可權只在程式執行過程中有效
> 例子 /usr/bin/locate具有setgid身份
2.1)setgid針對目錄的作用
2)普通使用者必須對此目錄必須擁有r和x許可權,才能進入此目錄
3)普通使用者在此目錄中的有效組會變成此目錄的屬組
4)若普通使用者對此目錄擁有w許可權,新建的檔案的缺省屬組是這個目錄的屬組
3.設定setgid
設定setgid
chmod
g+s[檔名]
chmod 2755 [檔名]
取消setgid
chmod
g-s[檔名]
chmod 0755 [檔名]
可以看到設定了setgid許可權,使用者組許可權變成乙個s
[root@localhost ~]# chmod 2755 2
[root@localhost ~]# ll 2
-rwxr-sr-x. 1 root root 80
12月 820:
412
1)suid只能對執行檔案生效,sgid能對目錄和執行檔案生效,sbit只能對目錄生效
2)要賦予sbit 許可權必須給目錄普通使用者賦予7許可權,因此也比較危險。
3)賦予sbit許可權: chmod o+t 或者 chmod 1***
4)目錄有sbit許可權後,任何普通使用者都可以在目錄下新建檔案,但是只能刪除自己建立的檔案,不允許刪除其它使用者的檔案。
5)/tmp/ 目錄預設有sbit許可權
在其他人的許可權那裡,執行許可權變為t
[root@localhost ~]# ll /tmp -d
drwxrwxrwt. 10 root root 4096
12月 915:
49 /tmp
6)設定sbit許可權
增加許可權
chmod 1775 [檔案]
chmod
o+t[檔案]
刪除許可權
chmod 0775 [檔案]
chmod
o-t[檔案]
此許可權符合臨時目錄的要求setuid僅對檔案生效
setgid對檔案目錄都有效
sticky bit 僅對目錄生效
Linux中粘滯位許可權
linux下的檔案許可權 在linux下每乙個檔案和目錄都有自己的訪問許可權,訪問許可權確定了使用者能否訪問檔案或者目錄和怎樣進行訪問。最為我們熟知的乙個檔案或目錄可能擁有三種許可權,分別是讀 寫 和執行操作,在這裡不做詳細說明。我們建立乙個檔案後系統會預設地賦予所有者讀和寫許可權。當然我們也可以自...
linux中SET位許可權和粘滯位許可權詳解
對檔案或目錄進行訪問控制時,讀取 寫入 執行 是最基本的三種許可權型別。除此之外,在linux中還存在著set位許可權 suid sgid 粘滯位 sticky bit 等為檔案或目錄提供額外的控制方式。下面我們就來聊聊這兩個非常有用的方式。set位許可權 位許可權多用於給可執行的程式或指令碼檔案進...
Linux中粘滯位
粘滯位 stickybit 又稱粘著位,是unix檔案系統許可權的乙個旗標。最常見的用法在目錄上設定粘滯位,也只能針對目錄設定,對於目錄內檔案有效。則設定了粘滯位後,只有目錄內檔案的所有者或者root才可以刪除或移動該檔案。如果不為目錄設定粘滯位,任何具有該目錄寫和執行許可權的使用者都可以刪除和移動...