SUID亲族、SGID炒考、SBIT
一、SetUID與SGID
- 只能用于二進(jìn)制程序
- 執(zhí)行者需要有該二進(jìn)制程序的x權(quán)限
- 執(zhí)行具有SUID權(quán)限的二進(jìn)制程序霎迫,那么執(zhí)行者將具有該二進(jìn)制程序所有者的權(quán)限斋枢。
舉例來說,/etc/passwd文件的權(quán)限是 -rw-r--r--,用戶更改密碼時(shí)需要對(duì)passwd文件進(jìn)行寫操作知给,root可以讀寫不用說瓤帚,那普通用戶為什么也能進(jìn)行修改呢?這里就需要SUID來解決涩赢。
修改密碼時(shí)是用/usr/bin/passwd工具進(jìn)行修改的戈次。setuid的作用是讓執(zhí)行該命令的用戶以該命令擁有者的權(quán)限去執(zhí)行,就是普通用戶執(zhí)行passwd時(shí)會(huì)擁有root的權(quán)限筒扒,這樣就可以修改/etc/passwd這個(gè)文件了怯邪。
下面權(quán)限中的x就標(biāo)志著SUID
[root@centos7 aubin]# ls -al /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 Jun 10 2014 /usr/bin/passwd
setgid的意思和它是一樣的,即讓執(zhí)行文件的用戶以該文件所屬組的權(quán)限去執(zhí)行花墩。
二悬秉、stick bit(粘滯位)
以/tmp為例,tmp為存放臨時(shí)文件的文件夾冰蘑。所有用戶都可以對(duì)他進(jìn)行讀寫執(zhí)行和泌。那如果A用戶創(chuàng)建了一個(gè)文件再tmp中,B用戶把給刪除了祠肥。這種情況是不允許出現(xiàn)的允跑。如果設(shè)置了stick bit(粘滯位),那目錄下的文件就只有root和創(chuàng)建者有權(quán)限區(qū)讀寫執(zhí)行,其他人是無法更改的聋丝。這就是粘滯位的作用
- 粘滯位只能針對(duì)目錄設(shè)置
- SGID與SUUID可以設(shè)置目錄跟文件
三、特殊權(quán)限得具體設(shè)置
- SUID
sud一般情況下都設(shè)置在二進(jìn)制文件上工碾,設(shè)置在目錄上沒有意義
啟動(dòng)為進(jìn)程之后弱睦,其進(jìn)程的屬主為原程序文件的屬主
[root@centos7 app]# chmod u+s file
[root@centos7 app]# chmod u-s file
- 文件設(shè)置SGID
啟動(dòng)為進(jìn)程之后,其進(jìn)程的屬主為原程序文件的屬組
[root@centos7 app]# chmod g+s file
[root@centos7 app]# chmod g-s file
- 目錄設(shè)置SGID
目錄被設(shè)定了SGID渊额,則對(duì)此目錄有寫權(quán)限的用戶在此目錄中創(chuàng)建的文件所屬的組為此目錄的屬組
[root@centos7 app]# chmod g-s dir/
[root@centos7 app]# chmod g+s dir/
- SBIT
在目錄上設(shè)置SBIT况木,則在目錄下創(chuàng)建的文件只有root與創(chuàng)建者有修改和刪除權(quán)限
SBIT設(shè)置在文件上也毫無意義
[root@centos7 app]# chmod o+t dir/
[root@centos7 app]# chmod o-t dir/