最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux設(shè)置位S(SetUID)的詳細(xì)教程

 更新時(shí)間:2025年05月08日 09:53:00   作者:碎夢(mèng)歸途  
linux setuid是一種權(quán)限管理機(jī)制,即設(shè)置一個(gè)程序以超級(jí)用戶(root)權(quán)限運(yùn)行,即使由普通用戶啟動(dòng)也能夠執(zhí)行某些僅超級(jí)用戶有權(quán)限執(zhí)行的操作,此機(jī)制可以提高程序的安全性和可靠性,但也可能存在一些安全風(fēng)險(xiǎn),本文將詳細(xì)介紹Linux設(shè)置位S(SetUID)的教程

Linux 設(shè)置位 S(SetUID)詳解

一、SetUID(S位)的作用

SetUID 是 Linux 文件權(quán)限中的一種特殊權(quán)限,目的是讓普通用戶在執(zhí)行某些程序時(shí),暫時(shí)擁有該程序“所屬用戶”的權(quán)限。

經(jīng)典例子:

系統(tǒng)中用于修改密碼的命令 passwd,其路徑通常是 /usr/bin/passwd。

但 /etc/passwd 和 /etc/shadow 文件僅 root 用戶擁有寫權(quán)限。為了讓普通用戶可以修改自己的密碼,passwd命令被設(shè)置了 SetUID 權(quán)限,使其在執(zhí)行時(shí)臨時(shí)以 root 權(quán)限運(yùn)行,從而實(shí)現(xiàn)修改操作。

二、s 權(quán)限的設(shè)置對(duì)象

  • SetUID只能應(yīng)用于可執(zhí)行的二進(jìn)制文件

  • 位加在用戶(user)的執(zhí)行權(quán)限上:chmod u+s

三、實(shí)際操作示例

查看 passwd 命令路徑:

which passwd

查看權(quán)限(含 S 位):

ll /usr/bin/passwd

正常情況下輸出如下:

-rwsr-xr-x 1 root root 54256 Apr 23 08:32 /usr/bin/passwd

注意rws中的 s,說明已開啟 SetUID,執(zhí)行時(shí)臨時(shí)使用 root 權(quán)限。

四、如何移除 S 權(quán)限

方法一:直接去除 s 位

chmod u-s /usr/bin/passwd

方法二:重設(shè)權(quán)限位,去除特殊權(quán)限

chmod 0755 /usr/bin/passwd
  • 0755 中的前導(dǎo)0 表示 不使用任何特殊權(quán)限

  • 若要添加 SetUID:chmod 4755,其中:

  • 4代表 SetUID

  • 代表所有者的讀寫執(zhí)行權(quán)限

  • 5分別為組和其他用戶的讀執(zhí)行權(quán)限

五、權(quán)限位補(bǔ)充

權(quán)限類型數(shù)字表示含義
普通權(quán)限0無特殊權(quán)限(默認(rèn))
SetUID4用戶(u)的 s 位
SetGID2組(g)的 s 位
Sticky Bit1其他用戶(o)的粘著位

深度理解 Linux 的 SetUID 權(quán)限

一、SetUID 的本質(zhì):權(quán)限的臨時(shí)借用機(jī)制

當(dāng)一個(gè)程序文件被設(shè)置了 SetUID,用戶在執(zhí)行這個(gè)程序時(shí),進(jìn)程會(huì)臨時(shí)獲得該文件“屬主”的身份執(zhí)行權(quán)限。

舉個(gè)類比:

  • 你是普通用戶,像是沒門卡的訪客;

  • 某個(gè)設(shè)置了 SetUID 的程序是管理員提前放好的一把“限時(shí)門卡”;

  • 你執(zhí)行程序 = 用了那張卡,權(quán)限升級(jí),能完成只有管理員能做的操作(比如改密碼)。

這個(gè)過程是臨時(shí)的,程序執(zhí)行完權(quán)限就消失。

二、SetUID 的底層機(jī)制

當(dāng)你執(zhí)行一個(gè)二進(jìn)制程序時(shí),系統(tǒng)會(huì)進(jìn)行以下判斷:

IF 文件具有 SetUID 且為可執(zhí)行文件 THEN
    將執(zhí)行進(jìn)程的有效UID(effective UID)切換為該文件的“所有者UID”
ELSE
    使用當(dāng)前用戶的UID 執(zhí)行進(jìn)程

因此:

- passwd 文件所有者是 roo,具有 SetUID

  • 任何用戶執(zhí)行它時(shí),進(jìn)程權(quán)限都會(huì)提升為 root

  • 可以寫/etc/shadow文件(否則連讀都不能)

三、SetUID 的使用場(chǎng)景

場(chǎng)景說明
密碼修改程序passwd 普通用戶執(zhí)行,程序臨時(shí)擁有 root 權(quán)限修改 /etc/shadow
網(wǎng)絡(luò)工具如 ping(早期)需要打開 socket,需要 root 權(quán)限
用戶切換 su / sudo程序本身不是 root,但執(zhí)行后臨時(shí)以 root 運(yùn)行

四、安全風(fēng)險(xiǎn)與管理建議

SetUID 是把“雙刃劍”,用得好是便利,用不好是系統(tǒng)漏洞。

潛在風(fēng)險(xiǎn):

程序存在漏洞時(shí)(如緩沖區(qū)溢出、任意文件寫入等),攻擊者可能通過 SetUID 程序提權(quán)為 root,拿下整臺(tái)機(jī)器。

若不慎給 腳本文件 設(shè)置 S 位(雖然不會(huì)生效),仍有可能被誤導(dǎo)濫用。

安全建議:

1、只對(duì)系統(tǒng)可信任的二進(jìn)制程序設(shè)置 S 位

2、定期掃描系統(tǒng)中具有 SetUID 的文件:

find / -perm -4000 -type f 2>/dev/null

3、避免對(duì)可疑程序設(shè) S 位,如自寫腳本、測(cè)試程序

4、使用 sudo 替代部分 SetUID 場(chǎng)景(更安全,可審計(jì))

五、延伸補(bǔ)充:SetUID vs SetGID vs Sticky Bit

特殊權(quán)限數(shù)字用途說明
SetUID(u+s4進(jìn)程以文件“所有者”身份運(yùn)行
SetGID(g+s2進(jìn)程以文件“所屬組”身份運(yùn)行;或新建文件自動(dòng)歸組
Sticky Bit(+t1應(yīng)用于目錄,只有文件所有者能刪除該目錄下自己的文件(典型如 /tmp

六、一個(gè)實(shí)際對(duì)比案例

原始文件權(quán)限:

-rwxr-xr-x 1 root root 54256 Apr 23 08:32 /usr/bin/passwd

任何人可執(zhí)行,但只有 root 能修改 /etc/shadow,普通用戶運(yùn)行會(huì)失敗。

開啟 SetUID:

chmod u+s /usr/bin/passwd

權(quán)限變?yōu)椋?/p>

-rwsr-xr-x 1 root root 54256 Apr 23 08:32 /usr/bin/passwd

此時(shí)任何用戶執(zhí)行 passwd 都臨時(shí)獲得 root 權(quán)限,能安全修改自己密碼。

總結(jié)一句話:

SetUID 是讓“普通用戶臨時(shí)擁有管理員權(quán)限”的關(guān)鍵機(jī)制,強(qiáng)大但危險(xiǎn),務(wù)必在可控范圍內(nèi)使用

以上就是Linux設(shè)置位S(SetUID)的詳細(xì)教程的詳細(xì)內(nèi)容,更多關(guān)于Linux設(shè)置位S的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Linux之刪除帶有空格的文件(不是目錄)

    Linux之刪除帶有空格的文件(不是目錄)

    這篇文章主要介紹了Linux之刪除帶有空格的文件(不是目錄),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • deepin20 安裝英偉達(dá)閉源驅(qū)動(dòng)的步驟詳解

    deepin20 安裝英偉達(dá)閉源驅(qū)動(dòng)的步驟詳解

    這篇文章主要介紹了deepin20 安裝英偉達(dá)閉源驅(qū)動(dòng)的步驟,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • xshell上傳下載文件(Windows、Linux)

    xshell上傳下載文件(Windows、Linux)

    Windows下載的軟件包,如何上傳到遠(yuǎn)程Linux主機(jī)上?如何從Linux主機(jī)下載軟件包到Windows下,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Linux環(huán)境下Apache開啟https服務(wù)的方法詳解

    Linux環(huán)境下Apache開啟https服務(wù)的方法詳解

    這篇文章主要介紹了Linux環(huán)境下Apache開啟https服務(wù)的方法,結(jié)合實(shí)例形式分析了阿里云環(huán)境下獲取SSL證書及Apache服務(wù)器安裝、開啟SSL的相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07
  • linux增加iptables防火墻規(guī)則的示例

    linux增加iptables防火墻規(guī)則的示例

    這篇文章主要介紹了linux增加iptables防火墻規(guī)則的示例,大家在使用的時(shí)候要把規(guī)則后的中文注釋去掉
    2014-01-01
  • Linux系統(tǒng)?Centos7.4手動(dòng)在線升級(jí)到Centos7.7

    Linux系統(tǒng)?Centos7.4手動(dòng)在線升級(jí)到Centos7.7

    這篇文章主要介紹了Centos7.4手動(dòng)升級(jí)到Centos7.7,需要的朋友可以參考下
    2022-01-01
  • Linux下Jenkins忘記密碼的操作步驟

    Linux下Jenkins忘記密碼的操作步驟

    這篇文章主要介紹了Linux下Jenkins忘記密碼的操作步驟,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Linux下升級(jí)python和安裝pip的詳解

    Linux下升級(jí)python和安裝pip的詳解

    今天小編就為大家分享一篇關(guān)于Linux下升級(jí)python和安裝pip的詳解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • 初窺Linux 之我最常用的20條命令總結(jié)

    初窺Linux 之我最常用的20條命令總結(jié)

    Linux中的命令的確是非常多,我們只需要了解常用的命令就可以了,本篇文章介紹了Linux 之我最常用的20條命令總結(jié),有興趣的可以了解一下。
    2016-12-12
  • centos7.2搭建nginx的web服務(wù)器部署uniapp項(xiàng)目

    centos7.2搭建nginx的web服務(wù)器部署uniapp項(xiàng)目

    這篇文章主要介紹了centos7.2搭建nginx的web服務(wù)器部署uniapp項(xiàng)目,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-10-10

最新評(píng)論

河北省| 衢州市| 周至县| 霍城县| 驻马店市| 全南县| 紫云| 南溪县| 天峨县| 吉林省| 台北县| 乌海市| 友谊县| 祁东县| 阿瓦提县| 恩平市| 南和县| 连江县| 高邑县| 革吉县| 巴彦淖尔市| 十堰市| 武汉市| 彰化市| 蓬溪县| 丹凤县| 隆林| 井陉县| 教育| 雷州市| 全州县| 江源县| 会昌县| 阿巴嘎旗| 美姑县| 南投市| 左贡县| 青神县| 乃东县| 周至县| 闸北区|