In Linux bezieht sich s auf „erzwungene Bitberechtigung“, die sich an der dritten Position der Benutzer- oder Gruppenberechtigungsgruppe befindet. Wenn das s-Bit in der Benutzerberechtigungsgruppe gesetzt ist, führt die Datei das Programm mit der Dateieigentümer-UID anstelle der Benutzer-UID aus, wenn das s-Bit in der Gruppenberechtigungsgruppe gesetzt ist, wenn die Datei ausgeführt wird ausgeführt: Die Datei wird mit der Dateieigentümer-GID statt mit der Benutzer-GID ausgeführt. Das Berechtigungsbit ist ein sensibles Berechtigungsbit und kann leicht zu Systemsicherheitsproblemen führen.
Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Dell G3-Computer.
Die häufigsten Dateiberechtigungen in Linux-Systemen sind w, r und x, die den Schreib-, Lese- und Ausführungsberechtigungen entsprechen. Darüber hinaus unterstützt Linux jedoch auch eine andere Reihe von Berechtigungseinstellungen, wie z. B. s-Berechtigungen und t Berechtigungen. Im Folgenden wird die spezifische Bedeutung von s-Berechtigungen vorgestellt.
s Berechtigungen
s, was bedeutet, UID festlegen oder GID festlegen. Befindet sich an der dritten Position der Benutzer- oder Gruppenberechtigungsgruppe. Wenn das s-Bit in der Benutzerberechtigungsgruppe gesetzt ist, führt die Datei beim Ausführen der Datei das Programm mit der Dateieigentümer-UID anstelle der Benutzer-UID aus. Wenn das s-Bit in der Gruppenberechtigungsgruppe gesetzt ist, führt die Datei beim Ausführen der Datei das Programm mit der Dateieigentümer-GID anstelle der Benutzer-GID aus. Das Berechtigungsbit ist ein sensibles Berechtigungsbit und kann leicht zu Systemsicherheitsproblemen führen. Bitte seien Sie beim Einrichten vorsichtig und achten Sie auf SUID- oder SGID-Dateien und -Verzeichnisse, die sich bereits auf Ihrem System befinden.
s Berechtigungen umfassen zwei Konstanten, S_ISUID und S_ISGID, die als erzwungene Bitberechtigungen
bezeichnet werden; 强制位权限
;
S_ISUID只能应用于二进制可执行文件*;
S_ISGID可应用于二进制可执行文件*和目录;
*shell脚本不可以,因为shell脚本并不是二进制文件.
S_ISUID、S_ISGID用在二进制文件时:
如果S_ISUID为真,则把此进程的有效用户ID设置为此文件拥有者的用户ID.
如果S_ISGID为真,则把此进程的有效用户组ID设置为此文件的组ID.
由于进程有用户/组ID影响文件访问权限,于是就相当于临时拥有文件所有者的身份. 典型的文件是passwd. 如果一般用户执行该文件, 则在执行过程中, 该文件可以获得root权限, 从而可以更改用户的密码.
S_ISGID用在目录时:
当前用户执行chdir切换至该目录后,用户进程的有效用户组ID(effective group)将会设置为该目录的用户组.若用户在此目录下具备w权限,则用户进程所创建的新文件的用户组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位的掩码。
如何使用?
我们可以通过字符模式设置s权限:chmod a+s filename
*Shell-Skripte sind nicht zulässig, da Shell-Skripte keine Binärdateien sind
chmod 4755 test
oct | dec | |
S_ISUID td> | 4000 | 2048 |
S_ISGID | 2000 | 1024 | < /tr>
chmod a+s filename
, oder wir können den absoluten Modus zum Festlegen verwenden: 🎜🎜🎜🎜Suid festlegen: Setzt die entsprechende Berechtigung auf das vorherige Bit-Set auf 4; 🎜🎜🎜🎜Guid setzen: Setzen Sie das Bit vor dem entsprechenden Berechtigungsbit auf 2; 🎜🎜🎜🎜 Beide gesetzt: Setzen Sie das Bit vor dem entsprechenden Berechtigungsbit auf 4+2 =6.🎜🎜🎜🎜Setzen Sie eine Datei um als die Identität des Dateieigentümers UID auszuführen: 🎜chmod 2755 test
chmod 6755 test
Das obige ist der detaillierte Inhalt vonWelche Berechtigungen hat Linux?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!