setuid(suid): 針對命令和二進制程序的,當普通用戶執行某個(passwd)命令的時候,能夠擁有這個命令對應用戶的權限,html
即讓普通用戶能夠以root用戶的角色執行程序或命令。shell
setgid(sgid): 但願一個目錄被多個用戶(同屬於一個組)共享,同一個組的用戶能夠處理安全
粘滯位(t) : 把一個文件夾的權限都打開,而後共享文件,像/tmp同樣,可是 生產環境通常不使用工具
setuid(suid): 針對命令和二進制程序的ui
chmod u+s h.txtspa
chmod 4777 h.txthtm
chmod u-s h.txtblog
查看passwd命令的權限ip
[root@localhost ftl]# ll /usr/bin/passwd 問題: passwd文件的屬組是root,表示只有root用戶能夠訪問的文件,爲何普通用戶依然可使用該命令更改本身的密碼? 答案:當普通用戶[omd]使用passwd命令的時候,系統看到passwd命令文件的屬性有大寫s後,表示這個命令的屬主權限被omd用戶得到,也就是omd用戶得到文件/etc/shadow的root的rwx權限
用戶添加s權限【用4表示s位,有大寫s表示有suid權限】get
[root@localhost ftl]# chmod 4600 hhh.txt -->【當x位沒有小寫x執行權限的時候,sudi的權限顯示的就是大S】 [root@localhost ftl]# chmod 600 hhh.txt
查找擁有s權限且文件權限爲755的文件
find / -type f -perm 4755
取消ping命令的共享權限
which ping --> /bin/ping -->顯示4755 chmod 755 /bin/ping 普通用戶用不了 ping命令了
其餘答疑
suid和sudo均可以用於提升用戶的操做權限,那他們的區別是什麼?
suid:是讓全部用戶擁有某個權限能夠執行某個程序或命令 -->僅僅是一個工具,僅僅在執行過程當中生效,全部人均可用
sudo:是讓某個用戶得到特定的某個命令或者執行權限 -->身份提升,終身有效,某個用戶纔有的權利
但願普通用戶[omd]刪除某個本身沒有權限刪除的文件,應該怎麼處理?
a.sudo給omd受權rm權限b.rm設置suid
c.修改上級目錄的權限【由於上級目錄記錄着下級目錄裏文件的權限信息】
setgid(sgid): 但願一個目錄被多個用戶(同屬於一個組)共享,同一個組的用戶能夠處理
chmod g+s /home/omd/h -->添加sgid
chmod 2755 /home/omd/h -->添加sgid
chmod g-s /home/omd/h -->取消sgid
粘滯位(t): 把一個文件夾的權限都打開,而後共享文件,像/tmp同樣,可是 生產環境通常不使用
chmod o+s h.txt --> 添加粘滯位
chmod o-s h.txt --> 取消粘滯位
chmod 1777 /home/omd –>添加粘滯位
查看/tmp文件夾的權限:
tmp至關於共內容,全部用戶能夠對這個目錄操做,可是不能破壞(t的做用) /tmp是經典的粘滯位目錄,特色:誰都有寫的權限,所以有安全隱患 [root@localhost omd]# ll -ld /tmp/ -->t表示粘滯位 t表示有個x,沒有就是大T
特殊說明:
suid 4000: 權限符s(S),用戶位上的x位置 chmod 4777 h.txt
guid 2000: 權限符s(S),用戶組位上的x位置 chmod 2777 h.txt
粘滯位 1000: 權限符t(T),其餘用戶位上的x位置 chmod 1777 /home/omd
對應位有x則,字符權限小寫,不然表現爲大寫
設置方法:
chmod u+s h.txt chmod u-s h.txtchmod g+s h.txt chmod g-s h.txtchmod o+s h.txt chmod o-s h.txt/tmp是經典的粘滯位目錄,須要記住哦