Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Welche Berechtigungen hat Linux?

Welche Berechtigungen hat Linux?

青灯夜游
青灯夜游Original
2022-07-19 18:24:1511046Durchsuche

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.

Welche Berechtigungen hat Linux?

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

S_ISUID kann nur auf binäre ausführbare Dateien angewendet werden*; und Verzeichnisse;
  • *Shell-Skripte sind nicht zulässig, da Shell-Skripte keine Binärdateien sind

  • S_ISUID und S_ISGID werden in Binärdateien verwendet:

  • Wenn S_ISUID wahr ist, legen Sie die effektive Benutzer-ID dieses Prozesses fest Die Benutzer-ID des Eigentümers dieser Datei.

Wenn S_ISGID wahr ist, setzen Sie die effektive Benutzergruppen-ID dieses Prozesses auf die Gruppen-ID dieser Datei.

Da der Prozess eine Benutzer-/Gruppen-ID hat Beeinflusst die Dateizugriffsberechtigungen, was dem vorübergehenden Besitz der Identität des Dateieigentümers entspricht. Eine typische Datei ist passwd. Wenn ein allgemeiner Benutzer die Datei während des Ausführungsprozesses ausführt, kann die Datei Root-Berechtigungen erhalten, sodass das Kennwort des Benutzers verfügbar ist geändert werden.

S_ISGID Wenn im Verzeichnis:

Nachdem der aktuelle Benutzer chdir ausführt, um in das Verzeichnis zu wechseln, wird die effektive Benutzergruppen-ID (effektive Gruppe) des Benutzerprozesses auf die Benutzergruppe des Verzeichnisses festgelegt Der Benutzer hat w-Berechtigungen in diesem Verzeichnis, der Benutzerprozess. Die Benutzergruppen-ID der neu erstellten Datei ist dieselbe wie die Verzeichnis-Benutzergruppen-ID

chmod 4755 test
Die Werte der beiden Konstanten sind:

oct dec
S_ISUID td> 4000 2048
S_ISGID 2000 1024
Das heißt, das 12. Bit und das 11. Bit der Maske.

Wie benutzt man?

Wir können s-Berechtigungen über den Zeichenmodus festlegen: 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
🎜Legen Sie eine Datei fest, die als die Identität des Dateieigentümers GID ausgeführt werden soll: 🎜
chmod 6755 test
🎜Legen Sie eine Datei fest, die als beide der oben genannten Identitäten ausgeführt werden soll: 🎜rrreee🎜Hinweis: Bei der Einstellung s-Berechtigungen müssen der Dateieigentümer und die Gruppe zuerst die entsprechenden x-Berechtigungen festlegen, andernfalls werden die s-Berechtigungen nicht wirklich wirksam (der Befehl ch m o d führt nicht die erforderlichen Integritätsprüfungen durch, selbst wenn die s-Berechtigung festgelegt wurde, und chmod meldet keine Fehler. Wenn wir ls -l sehen, sehen wir rwS und der Großbuchstabe S zeigt an, dass die s-Berechtigung nicht wirksam ist dem Eigentümer der Datei zur Verfügung. Bitte achten Sie auf Dateien mit SUID-Berechtigungen. Hacker nutzen diese Berechtigung häufig, um den Root-Kontoinhaber mit der SUID abzugleichen und so unbemerkt eine Hintertür im System für den zukünftigen Zugriff zu öffnen. 🎜🎜Verwandte Empfehlungen: „🎜Linux-Video-Tutorial🎜“🎜

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn