乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

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

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

      1.SetUID

      一.SetUID的功能

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

      1.只有執(zhí)行的二進制程序才能設(shè)定SUID權(quán)限
      
      2.命令執(zhí)行者要對該程序有用x(執(zhí)行)權(quán)限
      
      3.命令執(zhí)行者在執(zhí)行該程序時獲得該程序文件屬主(所有者)的身份(在執(zhí)行程序的過程中靈魂附體為文件的屬主)
      
      4.SetUID權(quán)限只在該程序執(zhí)行過程中有效,也就是說身份改變只在程序執(zhí)行過程中有效.
      

      passwd

      passwd命令擁有SetUID權(quán)限,所以普通用戶可以修改自己的密碼
      修改密碼是向/etc/shadow寫入數(shù)據(jù)的
      但是/etc/shadow文件的權(quán)限是---------,只有root用戶可以操作,普通用戶連看都不可以
      [root@izm5e2q95pbpe1hh0kkwoiz ~]# ll /etc/shadow
      ---------- 1 root root 1097 Dec 10 17:02 /etc/shadow
      所以passwd命令擁有SetUID權(quán)限,讓普通用戶在修改自己密碼的時候,短暫擁有root權(quán)限,
      修改完密碼之后,root權(quán)限也就沒有了
      passwd命令中其他組擁有的權(quán)限是r-x,普通用戶劃歸在其他組中,對應(yīng)上面第2條,命令執(zhí)行者要對該程序有用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命令沒有SetUID權(quán)限,所以普通用戶不能查看/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
      # 此時顯示一個大寫的S,這是報錯的標(biāo)識
      [root@izm5e2q95pbpe1hh0kkwoiz tmp]# ll abc
      -rwSr--r-- 1 root root 0 Dec 13 10:06 abc
      
      為什么會報錯呢?
      2.命令執(zhí)行者要對該程序有用x(執(zhí)行)權(quán)限
      第2條要求就是,命令執(zhí)行者對程序擁有執(zhí)行權(quán)限,此時除了root之外其他人對命令都沒有執(zhí)行權(quán)限
      所以就會報錯
      
      怎么解決???
          權(quán)限需要設(shè)置為755,也就是rwxr-xr-x
          此時所有人都有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 文件名

      四.危險的SetUID

      1.關(guān)鍵目錄應(yīng)嚴格控制寫權(quán)限.比如"/","/usr"等
      
      2.用戶的密碼設(shè)置要嚴格遵守密碼三原則
      
      3.對系統(tǒng)中默認應(yīng)該具有SetUID權(quán)限的文件作一個列表,定時檢查有沒有這個之外的文件被設(shè)置了SetUID權(quán)限(通過shell腳本去查看)
      
      假如對vim設(shè)定了SetUID權(quán)限,則普通用戶就可以使用vim編輯任何的文件,造成系統(tǒng)問題
      

      2.SetGID

      一.SetGID針對文件的作用

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

      1.只有可執(zhí)行的二進制程序才能設(shè)置SGID權(quán)限
      
      2.命令執(zhí)行者要對該程序擁有x(執(zhí)行)權(quán)限
      
      3.命令執(zhí)行在執(zhí)行程序的時候,組身份升級為該程序文件的屬組
      
      4.SetGID權(quán)限同樣只在該程序執(zhí)行過程中有效,也就是說組身份改變只在程序執(zhí)行過程中有效.
      

      locate

      [root@izm5e2q95pbpe1hh0kkwoiz tmp]# whereis locate
      locate: /usr/bin/locate /usr/share/man/man1/locate.1.gz
      # locate擁有SetGID權(quán)限,用戶對locate有x執(zhí)行權(quán)限,
      # 運行l(wèi)ocate命令的時候用戶當(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查詢時,查詢的文件是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文件對其他人的權(quán)限時---,沒有任何權(quán)限
      
      # 但是使用locate的時候,因為locate擁有SetGID權(quán)限,
      # 用戶在使用locate命令時可以使組用戶的當(dāng)前組轉(zhuǎn)換為locate的組slocate,
      # 而mlocate.db的所屬組也是slocate,slocate組對mlocate.db文件擁有r讀權(quán)限,
      # 所以此時用戶的所屬組為slocate,擁有了對mlocate.db的讀權(quán)限
      

      二.SetGID針對目錄的作用

      1.普通用戶必須對此目錄擁有r和x權(quán)限,才能進入此目錄
      
      2.普通用戶在此目錄中的有效組會變成此目錄的屬組
      
      3.若普通用戶對此目錄擁有w權(quán)限時,新建的文件的默認屬組是這個目錄的屬組.
      
      # 在/tmp文件夾下創(chuàng)建test文件夾
      [root@izm5e2q95pbpe1hh0kkwoiz tmp]# mkdir test
      # 創(chuàng)建的默認權(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普通用戶
      [root@izm5e2q95pbpe1hh0kkwoiz tmp]# su - eternity
      Last login: Fri Dec 13 09:51:16 CST 2019 on pts/0
      # 進入/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
      # 進入/tmp/test文件夾
      [eternity@izm5e2q95pbpe1hh0kkwoiz tmp]$ cd /tmp/test
      # 創(chuàng)建bbb文件
      [eternity@izm5e2q95pbpe1hh0kkwoiz test]$ touch bbb
      # 此時bbb文件的所屬組為root組
      # test文件夾有SetGID權(quán)限,他的創(chuàng)建者所屬組為root
      # 普通用戶在test文件夾下創(chuàng)建文件的時候,
      # 文件的所屬組會默認的切換為創(chuàng)建test文件夾的用戶的所屬組,
      # 此時是root用戶創(chuàng)建的test文件夾,root的組為root組,
      # 所以新建的文件的組默認為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粘著位作用

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

      1.粘著位目前只對目錄有效
      
      2.普通用戶對該用戶有用w和x權(quán)限,即普通用戶可以在此目錄擁有寫入全新啊
      
      3.如果沒有粘著位,因為普通用戶擁有w權(quán)限,則可以刪除此目錄下所有文件,包括其他用戶建立的文件.
      一旦賦予了粘著位,
      除了root可以刪除所有文件,普通用戶就算擁有w權(quán)限,
      也只能刪除自己建立的文件,但是不能刪除其他用戶建立的文件.
      

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

      設(shè)置粘著位

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

      取消粘著位

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

      總結(jié)

      SetUID只對文件生效
      SetGID對文件和目錄生效
      Sticky BIT只對目錄生效
      

      擁有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
      

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

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多