chmod g+s 、chmod o+t 、chmod u+s
Set uid, gid,sticky bit的三個(gè)權(quán)限的詳細(xì)說(shuō)明
一個(gè)文件都有一個(gè)所有者, 表示該文件是誰(shuí)創(chuàng)建的. 同時(shí), 該文件還有一個(gè)組編號(hào), 表示該文件所屬的組, 一般為文件所有者所屬的組.
如果是一個(gè)可執(zhí)行文件, 那么在執(zhí)行時(shí), 一般該文件只擁有調(diào)用該文件的用戶具有的權(quán)限. 而setuid, setgid 可以來(lái)改變這種設(shè)置.
setuid: 設(shè)置使文件在執(zhí)行階段具有文件所有者的權(quán)限. 典型的文件是 /usr/bin/passwd. 如果一般用戶執(zhí)行該文件, 則在執(zhí)行過程中, 該文件可以獲得root權(quán)
限, 從而可以更改用戶的密碼.
setgid: 該權(quán)限只對(duì)目錄有效. 目錄被設(shè)置該位后, 任何用戶在此目錄下創(chuàng)建的文件都具有和該目錄所屬的組相同的組.
sticky bit: 該位可以理解為防刪除位. 一個(gè)文件是否可以被某用戶刪除, 主要取決于
該文件所屬的組是否對(duì)該用戶具有寫權(quán)限. 如果沒有寫權(quán)限, 則這個(gè)目錄下的所有文件都不能被刪除, 同時(shí)也不能添加新的文件. 如果希望用戶能夠添加文件
但同時(shí)不能刪除文件, 則可以對(duì)文件使用sticky bit位. 設(shè)置該位后, 就算用戶對(duì)目錄
具有寫權(quán)限, 也不能刪除該文件.
下面說(shuō)一下如何操作這些標(biāo)志:
操作這些標(biāo)志與操作文件權(quán)限的命令是一樣的, 都是 chmod. 有兩種方法來(lái)操作,
1) chmod u+s temp — 為temp文件加上setuid標(biāo)志. (setuid 只對(duì)文件有效)
chmod g+s tempdir — 為tempdir目錄加上setgid標(biāo)志 (setgid 只對(duì)目錄有效)
chmod o+t temp — 為temp文件加上sticky標(biāo)志 (sticky只對(duì)文件有效)
2) 采用八進(jìn)制方式. 對(duì)一般文件通過三組八進(jìn)制數(shù)字來(lái)置標(biāo)志, 如 666, 777, 644等. 如果設(shè)置這些特殊標(biāo)志, 則在這組數(shù)字之外外加一組八進(jìn)制數(shù)字. 如
4666, 2777等. 這一組八進(jìn)制數(shù)字三位的意義如下,
abc
a - setuid位, 如果該位為1, 則表示設(shè)置setuid
b - setgid位, 如果該位為1, 則表示設(shè)置setgid
c - sticky位, 如果該位為1, 則表示設(shè)置sticky
設(shè)置完這些標(biāo)志后, 可以用 ls -l 來(lái)查看. 如果有這些標(biāo)志, 則會(huì)在原來(lái)的執(zhí)行標(biāo)志位置上顯示. 如
rwsrw-r– 表示有setuid標(biāo)志
rwxrwsrw- 表示有setgid標(biāo)志
rwxrw-rwt 表示有sticky標(biāo)志
那么原來(lái)的執(zhí)行標(biāo)志x到哪里去了呢? 系統(tǒng)是這樣規(guī)定的, 如果本來(lái)在該位上有x, 則這些特殊標(biāo)志顯示為小寫字母 (s, s, t). 否則, 顯示為大寫字母 (S, S, T)
這三個(gè)權(quán)限的數(shù)字位可以這么理解
[root@server3 test]# 1 1 1
[root@server3 test]# rw s rws rwt
[root@server3 test]#
[root@server3 test]# SUID SGID Sticky
所以,可以得出
chmod 4777是設(shè)sid
chmod 2777是設(shè)置gid
chmod 1777是設(shè)sticky
常用操作
找出所有危險(xiǎn)的目錄(設(shè)置目錄所有人可讀寫卻沒有設(shè)置sticky位的目錄)
find / -perm -0007 -type d
找出所有設(shè)置了suid的文件
find / -perm -4000 -type f
補(bǔ)充: (angelus)?
SGID位,文件也是可以被設(shè)置為SGID的,比如一個(gè)可執(zhí)行文件為賦予SGID,它就具有所有組的特權(quán),任意存取所有組所能使用的系統(tǒng)資源,復(fù)制到擁有
SGID位目錄的文件,只有在復(fù)制時(shí)加上-p參數(shù),才能保留原來(lái)的組群設(shè)置
還有sticky-bit權(quán)限,簡(jiǎn)單說(shuō)就是文件的其他用戶即使有寫權(quán)限也無(wú)法刪除.移動(dòng)
等,只能被文件所有者刪除,移動(dòng)等
在系統(tǒng)中典型例子就是/tmp(系統(tǒng)臨時(shí)文件目錄)避免不守法用戶恣意亂刪其他用戶放置的文件
SUID占用屬主x(執(zhí)行)位,SGID占用組x位,sticky-bit占用其他x位,
如果該位有x權(quán)限,就用小寫s,沒有就用大寫S
用數(shù)值設(shè)定特殊權(quán)限,需要4位8進(jìn)制數(shù),第一個(gè)表示特殊權(quán)限,后三位表示基本權(quán)限
只說(shuō)第一位8進(jìn)制代表權(quán)限
0: 不設(shè)置特殊權(quán)限?
1: 只設(shè)置sticky?
2 : 只設(shè)置SGID?
3: 只設(shè)置SGID和sticky?
4 : 只設(shè)置SUID?
5 : 只設(shè)置SUID和sticky?
6 : 只設(shè)置SUID和SGID?
7 : 設(shè)置3種權(quán)限
“為了方便普通用戶執(zhí)行一些特權(quán)命令,
SUID/SGID程序允許普通用戶以root身份暫時(shí)執(zhí)行該程序,并在執(zhí)行結(jié)束后再恢復(fù)身份。”
chmod u+s 就是給某個(gè)程序的所有者以suid權(quán)限,可以像root用戶一樣操作。
?
變更文件或目錄的權(quán)限。
在UNIX系統(tǒng)家族里,文件或目錄權(quán)限的控制分別以讀取,寫入,執(zhí)行3種一般權(quán)限來(lái)區(qū)分,另有3種特殊權(quán)限可供運(yùn)用,再搭配擁有者與所屬群組管理權(quán)限范圍。您可以使用chmod指令去變更文件與目錄的權(quán)限,設(shè)置方式采用文字或數(shù)字代號(hào)皆可。符號(hào)連接的權(quán)限無(wú)法變更,如果您對(duì)符號(hào)連接修改權(quán)限,其改變會(huì)作用在被連接的原始文件。權(quán)限范圍的表示法如下:
u:User,即文件或目錄的擁有者。
g:Group,即文件或目錄的所屬群組。
o:Other,除了文件或目錄擁有者或所屬群組之外,其他用戶皆屬于這個(gè)范圍。
a:All,即全部的用戶,包含擁有者,所屬群組以及其他用戶。
有關(guān)權(quán)限代號(hào)的部分,列表于下:
r:讀取權(quán)限,數(shù)字代號(hào)為"4"。
w:寫入權(quán)限,數(shù)字代號(hào)為"2"。
x:執(zhí)行或切換權(quán)限,數(shù)字代號(hào)為"1"。
-:不具任何權(quán)限,數(shù)字代號(hào)為"0"。
s:特殊?b>功能說(shuō)明:變更文件或目錄的權(quán)限。
總結(jié)
以上是生活随笔為你收集整理的chmod g+s 、chmod o+t 、chmod u+s的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 煤炭etf基金有哪些
- 下一篇: MACOS远程访问树莓派桌面