Maison  >  Article  >  Opération et maintenance  >  De quelles autorisations disposent les Linux ?

De quelles autorisations disposent les Linux ?

青灯夜游
青灯夜游original
2022-07-19 18:24:1511076parcourir

Sous Linux, s fait référence à « autorisation de bit forcée », qui se situe en troisième position du groupe d'autorisation de l'utilisateur ou du groupe. Si le bit s est défini dans le groupe d'autorisations de l'utilisateur, lorsque le fichier est exécuté, le fichier exécute le programme avec l'UID du propriétaire du fichier au lieu de l'UID de l'utilisateur si le bit s est défini dans le groupe d'autorisations du groupe, lorsque le fichier est défini ; exécuté, le fichier est exécuté avec le GID du propriétaire du fichier au lieu du GID de l'utilisateur. Le bit d'autorisation s est un bit d'autorisation sensible et peut facilement provoquer des problèmes de sécurité du système.

De quelles autorisations disposent les Linux ?

L'environnement d'exploitation de ce tutoriel : système linux7.3, ordinateur Dell G3.

Les autorisations de fichiers les plus courantes dans les systèmes Linux sont w, r et x, qui correspondent respectivement aux autorisations d'écriture, de lecture et d'exécution. Cependant, Linux prend également en charge une autre série de paramètres d'autorisation, tels que les autorisations s et t. autorisations. Ce qui suit présente la signification spécifique des autorisations s.

s autorisations

s, ce qui signifie définir l'UID ou définir le GID. Situé en troisième position du groupe d'autorisations de l'utilisateur ou du groupe. Si le bit s est défini dans le groupe d'autorisations utilisateur, lorsque le fichier est exécuté, le fichier exécute le programme avec l'UID du propriétaire du fichier au lieu de l'UID de l'utilisateur. Si le bit s est défini dans le groupe d'autorisations de groupe, lorsque le fichier est exécuté, le fichier exécute le programme avec le GID du propriétaire du fichier au lieu du GID de l'utilisateur. Le bit d'autorisation s est un bit d'autorisation sensible et peut facilement provoquer des problèmes de sécurité du système. Soyez prudent lors de sa configuration et soyez conscient des fichiers et répertoires SUID ou SGID déjà présents sur votre système. Les autorisations de

incluent deux constantes, S_ISUID et S_ISGID, appelées autorisations de bits forcés ; 强制位权限

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 ne peut être appliqué qu'aux fichiers exécutables binaires*
  • S_ISGID peut être appliqué aux fichiers exécutables binaires* et aux répertoires ; ;

  • *Les scripts shell ne sont pas autorisés, car les scripts shell ne sont pas des fichiers binaires
  • S_ISUID et S_ISGID sont utilisés dans les fichiers binaires :
  • Si S_ISUID est vrai, définissez l'ID utilisateur effectif de ce processus. ID du propriétaire de ce fichier.

Si S_ISGID est vrai, définissez l'ID de groupe d'utilisateurs effectif de ce processus sur l'ID de groupe de ce fichier.

Puisque le processus a un ID d'utilisateur/groupe qui affecte le fichier. autorisations d'accès, cela équivaut donc à posséder temporairement l'identité du propriétaire du fichier. Un fichier typique est passwd Si un utilisateur général exécute le fichier, pendant le processus d'exécution, le fichier peut obtenir les autorisations root, de sorte que le mot de passe de l'utilisateur puisse être. modifié.

S_ISGID est utilisé Dans le répertoire :

Une fois que l'utilisateur actuel a exécuté chdir pour basculer vers le répertoire, l'ID de groupe d'utilisateurs effectif (groupe effectif) du processus utilisateur sera défini sur le groupe d'utilisateurs du répertoire. Si l'utilisateur dispose des autorisations w dans ce répertoire, le processus utilisateur L'ID du groupe d'utilisateurs du nouveau fichier créé est le même que l'ID du groupe d'utilisateurs du répertoire

chmod 4755 test

Les valeurs des deux constantes sont :

octobre déc
S_ISUID 4000 2048
S_ISGID 2000 1024
C'est-à-dire le 12ème bit et le bit 11 du masque.

Comment utiliser ?

🎜🎜Nous pouvons définir les autorisations en mode caractère : chmod a+s filename, ou nous pouvons utiliser le mode absolu : 🎜🎜🎜🎜Set suid : définir l'autorisation correspondante sur le bit précédent défini sur 4 🎜🎜🎜🎜Set guid : définissez le bit avant le bit d'autorisation correspondant sur 2 ; 🎜🎜🎜🎜 Both set : définissez le bit avant le bit d'autorisation correspondant sur 4+2 = 6.🎜🎜🎜🎜Définissez un fichier à exécuter. comme identité du propriétaire du fichier UID : 🎜
chmod 2755 test
🎜Définissez un fichier à exécuter comme identité du propriétaire du fichier GID : 🎜
chmod 6755 test
🎜Définissez un fichier pour qu'il s'exécute sous les deux identités ci-dessus :🎜rrreee🎜Remarque : lors de la définition des autorisations , le propriétaire du fichier et le groupe doivent d'abord définir les autorisations x correspondantes, sinon les autorisations s ne prendront pas vraiment effet (la commande ch m o d n'effectue pas les contrôles d'intégrité nécessaires, même si l'autorisation s est définie, et chmod ne signalera pas d'erreur. Quand nous ls -l, nous voyons rwS, et le S majuscule indique que l'autorisation s n'est pas effective) 🎜🎜🎜Résumé🎜🎜🎜 Les fichiers exécutables avec cette autorisation peuvent obtenir des privilèges et les enregistrer à volonté Obtenez toutes les ressources système disponibles pour le propriétaire du fichier. Veuillez faire attention aux fichiers dotés d'autorisations SUID. Les pirates utilisent souvent cette autorisation pour faire correspondre le propriétaire du compte root avec SUID afin d'ouvrir silencieusement une porte dérobée dans le système pour un accès futur. 🎜🎜Recommandations associées : "🎜Tutoriel vidéo Linux🎜"🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn