小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

linux中文件的特殊權(quán)限(SetUID/SetGID/SBIT)

 小世界的野孩子 2022-07-17 發(fā)布于北京

1.SetUID

一.SetUID的功能

SetUID主要是給命令提供一個(gè)root權(quán)限,就是命令運(yùn)行時(shí)擁有root用戶(hù)權(quán)限,命令運(yùn)行結(jié)束后root權(quán)限消失

1.只有執(zhí)行的二進(jìn)制程序才能設(shè)定SUID權(quán)限

2.命令執(zhí)行者要對(duì)該程序有用x(執(zhí)行)權(quán)限

3.命令執(zhí)行者在執(zhí)行該程序時(shí)獲得該程序文件屬主(所有者)的身份(在執(zhí)行程序的過(guò)程中靈魂附體為文件的屬主)

4.SetUID權(quán)限只在該程序執(zhí)行過(guò)程中有效,也就是說(shuō)身份改變只在程序執(zhí)行過(guò)程中有效.

passwd

passwd命令擁有SetUID權(quán)限,所以普通用戶(hù)可以修改自己的密碼
修改密碼是向/etc/shadow寫(xiě)入數(shù)據(jù)的
但是/etc/shadow文件的權(quán)限是---------,只有root用戶(hù)可以操作,普通用戶(hù)連看都不可以
[root@izm5e2q95pbpe1hh0kkwoiz ~]# ll /etc/shadow
---------- 1 root root 1097 Dec 10 17:02 /etc/shadow
所以passwd命令擁有SetUID權(quán)限,讓普通用戶(hù)在修改自己密碼的時(shí)候,短暫擁有root權(quán)限,
修改完密碼之后,root權(quán)限也就沒(méi)有了
passwd命令中其他組擁有的權(quán)限是r-x,普通用戶(hù)劃歸在其他組中,對(duì)應(yīng)上面第2條,命令執(zhí)行者要對(duì)該程序有用x(執(zhí)行)權(quán)限


[root@izm5e2q95pbpe1hh0kkwoiz ~]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 Jun 10  2014 /usr/bin/passwd

上面所有者的權(quán)限是rws
s權(quán)限代表的就是SetUID功能

cat

cat命令沒(méi)有SetUID權(quán)限,所以普通用戶(hù)不能查看/etc/shadow文件內(nèi)容

[eternity@izm5e2q95pbpe1hh0kkwoiz ~]$ ll /bin/cat
-rwxr-xr-x. 1 root root 54080 Nov  6  2016 /bin/cat
[eternity@izm5e2q95pbpe1hh0kkwoiz ~]$ cat /etc/shadow
cat: /etc/shadow: Permission denied

二.設(shè)定SetUID的方法

4代表SUID

  • chmod 4755 文件名
  • chmod u+s 文件名
4代表給所有者設(shè)定SUID權(quán)限

# 創(chuàng)建文件abc,權(quán)限為644
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ll abc
-rw-r--r-- 1 root root 0 Dec 13 10:06 abc
# 賦予文件abc SUID權(quán)限
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# chmod u+s abc
# 此時(shí)顯示一個(gè)大寫(xiě)的S,這是報(bào)錯(cuò)的標(biāo)識(shí)
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ll abc
-rwSr--r-- 1 root root 0 Dec 13 10:06 abc

為什么會(huì)報(bào)錯(cuò)呢?
2.命令執(zhí)行者要對(duì)該程序有用x(執(zhí)行)權(quán)限
第2條要求就是,命令執(zhí)行者對(duì)程序擁有執(zhí)行權(quán)限,此時(shí)除了root之外其他人對(duì)命令都沒(méi)有執(zhí)行權(quán)限
所以就會(huì)報(bào)錯(cuò)

怎么解決???
    權(quán)限需要設(shè)置為755,也就是rwxr-xr-x
    此時(shí)所有人都有x執(zhí)行權(quán)限
    
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ll abc
-rwSr--r-- 1 root root 0 Dec 13 10:06 abc
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# chmod u-s abc
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ll abc
-rw-r--r-- 1 root root 0 Dec 13 10:06 abc
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# chmod 755 abc
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# chmod u+s abc
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ll abc
-rwsr-xr-x 1 root root 0 Dec 13 10:06 abc

三.取消SetUID的方法

  • chmod 755 文件名
  • chmod u-s 文件名

四.危險(xiǎn)的SetUID

1.關(guān)鍵目錄應(yīng)嚴(yán)格控制寫(xiě)權(quán)限.比如"/","/usr"等

2.用戶(hù)的密碼設(shè)置要嚴(yán)格遵守密碼三原則

3.對(duì)系統(tǒng)中默認(rèn)應(yīng)該具有SetUID權(quán)限的文件作一個(gè)列表,定時(shí)檢查有沒(méi)有這個(gè)之外的文件被設(shè)置了SetUID權(quán)限(通過(guò)shell腳本去查看)
假如對(duì)vim設(shè)定了SetUID權(quán)限,則普通用戶(hù)就可以使用vim編輯任何的文件,造成系統(tǒng)問(wèn)題

2.SetGID

一.SetGID針對(duì)文件的作用

對(duì)文件常用,對(duì)目錄不常用.對(duì)文件主要也就是二進(jìn)制程序,主要是提升程序執(zhí)行者的所屬組,使程序執(zhí)行者擁有較高的權(quán)限,跟SetUID類(lèi)似.

1.只有可執(zhí)行的二進(jìn)制程序才能設(shè)置SGID權(quán)限

2.命令執(zhí)行者要對(duì)該程序擁有x(執(zhí)行)權(quán)限

3.命令執(zhí)行在執(zhí)行程序的時(shí)候,組身份升級(jí)為該程序文件的屬組

4.SetGID權(quán)限同樣只在該程序執(zhí)行過(guò)程中有效,也就是說(shuō)組身份改變只在程序執(zhí)行過(guò)程中有效.

locate

[root@izm5e2q95pbpe1hh0kkwoiz tmp]# whereis locate
locate: /usr/bin/locate /usr/share/man/man1/locate.1.gz
# locate擁有SetGID權(quán)限,用戶(hù)對(duì)locate有x執(zhí)行權(quán)限,
# 運(yùn)行l(wèi)ocate命令的時(shí)候用戶(hù)當(dāng)前組可以切l(wèi)ocate的所屬組slocate
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ll /usr/bin/locate
-rwx--s--x 1 root slocate 40520 Apr 11  2018 /usr/bin/locate

# locate查詢(xún)時(shí),查詢(xún)的文件是mlocate.db文件
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ll /var/lib/mlocate/mlocate.db
-rw-r----- 1 root slocate 7489360 Dec 13 03:07 /var/lib/mlocate/mlocate.db

# mlocate.db文件對(duì)其他人的權(quán)限時(shí)---,沒(méi)有任何權(quán)限

# 但是使用locate的時(shí)候,因?yàn)閘ocate擁有SetGID權(quán)限,
# 用戶(hù)在使用locate命令時(shí)可以使組用戶(hù)的當(dāng)前組轉(zhuǎn)換為locate的組slocate,
# 而mlocate.db的所屬組也是slocate,slocate組對(duì)mlocate.db文件擁有r讀權(quán)限,
# 所以此時(shí)用戶(hù)的所屬組為slocate,擁有了對(duì)mlocate.db的讀權(quán)限

二.SetGID針對(duì)目錄的作用

1.普通用戶(hù)必須對(duì)此目錄擁有r和x權(quán)限,才能進(jìn)入此目錄

2.普通用戶(hù)在此目錄中的有效組會(huì)變成此目錄的屬組

3.若普通用戶(hù)對(duì)此目錄擁有w權(quán)限時(shí),新建的文件的默認(rèn)屬組是這個(gè)目錄的屬組.
# 在/tmp文件夾下創(chuàng)建test文件夾
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# mkdir test
# 創(chuàng)建的默認(rèn)權(quán)限
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ll -d test
drwxr-xr-x 2 root root 4096 Dec 13 10:55 test
# 給test目錄修改權(quán)限為777,并增加SetGID權(quán)限
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# chmod 2777 test
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ll -d test
drwxrwsrwx 2 root root 4096 Dec 13 10:55 test
# 切換到eternity普通用戶(hù)
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# su - eternity
Last login: Fri Dec 13 09:51:16 CST 2019 on pts/0
# 進(jìn)入/tmp文件夾
[eternity@izm5e2q95pbpe1hh0kkwoiz test]$ cd /tmp
# 在/tmp文件夾下創(chuàng)建aaa文件
[eternity@izm5e2q95pbpe1hh0kkwoiz tmp]$ touch aaa
# aaa文件的所屬組為eternity
[eternity@izm5e2q95pbpe1hh0kkwoiz tmp]$ ll aaa
-rw-rw-r-- 1 eternity eternity 0 Dec 13 10:56 aaa
# 進(jìn)入/tmp/test文件夾
[eternity@izm5e2q95pbpe1hh0kkwoiz tmp]$ cd /tmp/test
# 創(chuàng)建bbb文件
[eternity@izm5e2q95pbpe1hh0kkwoiz test]$ touch bbb
# 此時(shí)bbb文件的所屬組為root組
# test文件夾有SetGID權(quán)限,他的創(chuàng)建者所屬組為root
# 普通用戶(hù)在test文件夾下創(chuàng)建文件的時(shí)候,
# 文件的所屬組會(huì)默認(rèn)的切換為創(chuàng)建test文件夾的用戶(hù)的所屬組,
# 此時(shí)是root用戶(hù)創(chuàng)建的test文件夾,root的組為root組,
# 所以新建的文件的組默認(rèn)為root組
[eternity@izm5e2q95pbpe1hh0kkwoiz test]$ ll bbb
-rw-rw-r-- 1 eternity root 0 Dec 13 10:57 bbb

三.設(shè)定SetGID

  • chmod 2755 文件/文件名
  • chmod g+s 文件/文件名

四.取消SetGID

  • chmod 755 文件/文件名
  • chmod g-s 文件/文件名

3.Sticky BIT

一.SBIT粘著位作用

針對(duì)普通用戶(hù),在有粘著位的文件夾下,每個(gè)用戶(hù)只能創(chuàng)建刪除自己的文件,不能刪除其他用戶(hù)的文件

1.粘著位目前只對(duì)目錄有效

2.普通用戶(hù)對(duì)該用戶(hù)有用w和x權(quán)限,即普通用戶(hù)可以在此目錄擁有寫(xiě)入全新啊

3.如果沒(méi)有粘著位,因?yàn)槠胀ㄓ脩?hù)擁有w權(quán)限,則可以刪除此目錄下所有文件,包括其他用戶(hù)建立的文件.
一旦賦予了粘著位,
除了root可以刪除所有文件,普通用戶(hù)就算擁有w權(quán)限,
也只能刪除自己建立的文件,但是不能刪除其他用戶(hù)建立的文件.

二.設(shè)置和取消粘著位

設(shè)置粘著位

  • chmod 1755 目錄名
  • chmod o+t 目錄名

取消粘著位

  • chmod 777 目錄名
  • chmod o-t 目錄名

總結(jié)

SetUID只對(duì)文件生效
SetGID對(duì)文件和目錄生效
Sticky BIT只對(duì)目錄生效

擁有SetUID權(quán)限顯示

rwsr-xr-x

即所有者的執(zhí)行權(quán)限x替換為了s

擁有SetGID權(quán)限

rwxr-sr-x

即所屬組的執(zhí)行權(quán)限x替換為了s

擁有Sticky BIT權(quán)限

rwxrwxrwt

即其他人的執(zhí)行權(quán)限x替換為了t

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀(guān)點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多