linux s是什么權(quán)限

linux中,s指的是“強制位權(quán)限”,位于user或group權(quán)限組的第三位置。如果在user權(quán)限組中設(shè)置了s位,則當(dāng)文件被執(zhí)行時,該文件是以文件所有者UID而不是用戶UID執(zhí)行程序;如果在group權(quán)限組中設(shè)置了s位,當(dāng)文件被執(zhí)行時,該文件是以文件所有者GID而不是用戶GID執(zhí)行程序。s權(quán)限位是一個敏感的權(quán)限位,容易造成系統(tǒng)的安全問題。

linux s是什么權(quán)限

本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。

在Linux系統(tǒng)中最常見的文件權(quán)限是w、r、x,分別對應(yīng)著寫、讀、執(zhí)行權(quán)限,但是除此之外Linux還支持另外一系列的權(quán)限設(shè)置,例如s權(quán)限、t權(quán)限。下面就介紹一下s權(quán)限的具體含義。

s權(quán)限

?s,表示set UID或set GID。位于user或group權(quán)限組的第三位置。如果在user權(quán)限組中設(shè)置了s位,則當(dāng)文件被執(zhí)行時,該文件是以文件所有者UID而不是用戶UID 執(zhí)行程序。如果在group權(quán)限組中設(shè)置了s位,當(dāng)文件被執(zhí)行時,該文件是以文件所有者GID而不是用戶GID執(zhí)行程序。s權(quán)限位是一個敏感的權(quán)限位,容易造成系統(tǒng)的安全問題。請在設(shè)置時小心,并注意系統(tǒng)中已有的SUID或SGID文件和目錄。

s權(quán)限包含S_ISUID、S_ISGID兩個常量在內(nèi),叫做強制位權(quán)限;

S_ISUID只能應(yīng)用于二進制可執(zhí)行文件*;

S_ISGID可應(yīng)用于二進制可執(zhí)行文件*和目錄;

*shell腳本不可以,因為shell腳本并不是二進制文件.

S_ISUID、S_ISGID用在二進制文件時:

  • 如果S_ISUID為真,則把此進程的有效用戶ID設(shè)置為此文件擁有者的用戶ID.

  • 如果S_ISGID為真,則把此進程的有效用戶組ID設(shè)置為此文件的組ID.

由于進程有用戶/組ID影響文件訪問權(quán)限,于是就相當(dāng)于臨時擁有文件所有者的身份. 典型的文件是passwd. 如果一般用戶執(zhí)行該文件, 則在執(zhí)行過程中, 該文件可以獲得root權(quán)限, 從而可以更改用戶的密碼.

S_ISGID用在目錄時:

當(dāng)前用戶執(zhí)行chdir切換至該目錄后,用戶進程的有效用戶組ID(effective group)將會設(shè)置為該目錄的用戶組.若用戶在此目錄下具備w權(quán)限,則用戶進程所創(chuàng)建的新文件的用戶組ID與該目錄用戶組ID相同.

ls?-al?/usr/bin/passwd -rwsr-xr-x?1?pythontab?pythontab?32988?2018-03-16?14:25?/usr/bin/passwd

兩個常量的值是:

? oct dec
S_ISUID 4000 2048
S_ISGID 2000 1024

即分別是第12位和第11位的掩碼。

如何使用?

我們可以通過字符模式設(shè)置s權(quán)限:chmod a+s filename,也可以使用絕對模式進行設(shè)置:

  • 設(shè)置suid:將相應(yīng)的權(quán)限位之前的那一位設(shè)置為4;

  • 設(shè)置guid:將相應(yīng)的權(quán)限位之前的那一位設(shè)置為2;

  • 兩者都置位:將相應(yīng)的權(quán)限位之前的那一位設(shè)置為4+2=6.

設(shè)置一個文件運行時具備文件擁有者UID的身份:

chmod?4755?test

設(shè)置一個文件運行時具備文件擁有者GID的身份:

chmod?2755?test

設(shè)置一個文件運行時以上兩者兼?zhèn)涞纳矸荩?/p>

chmod?6755?test

注意:在設(shè)置s權(quán)限時文件屬主、屬組必須先設(shè)置相應(yīng)的x權(quán)限,否則s權(quán)限并不能正真生效(c h m o d命令不進行必要的完整性檢查,即使不設(shè)置x權(quán)限就設(shè)置s權(quán)限,chmod也不會報錯,當(dāng)我們ls -l時看到rwS,大寫S說明s權(quán)限未生效)

總結(jié)

?可執(zhí)行的文件搭配這個權(quán)限,便能得到特權(quán),任意存取該文件的所有者能使用的全部系統(tǒng)資源。請注意具備SUID權(quán)限的文件,黑客經(jīng)常利用這種權(quán)限,以SUID配上root帳號擁有者,無聲無息地在系統(tǒng)中開扇后門,供日后進出使用。

相關(guān)推薦:《Linux視頻教程

以上就是

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊15 分享