Dans le système de fichiers Linux, tous les fichiers ont 3 autorisations spéciales utilisées à des fins différentes. Dans ce tutoriel, nous parlerons de Sticky bit , SUID, et SGID autorisations de fichiers dans les systèmes de fichiers Linux.
Qu'est-ce que Sticky Bit ?
Le sticky bit est utilisé pour indiquer des autorisations spéciales pour les fichiers et les répertoires. Si un répertoire avec sticky bit activé limitera la suppression du fichier qu'il contient.
Tout fichier a le sticky bit défini, peut être supprimé par son propriétaire, la racine, ou qui doit y écrire. Ceci est utile pour les répertoires partagés ou accessibles publiquement comme /tmp .
Comment définir le sticky bit sur un fichier du système de fichiers Linux.
Méthode 1 :
chmod +t file1.txt
##View the file permissions ls -l file1.txt
-rw-r--r-T 1 root root 0 Mar 8 02:06 file1.txt
Méthode 2 :
chmod 1777 file1.txt
##View the file permissions
ls -l file1.txt
-rwxrwxrwt 1 root root 0 Mar 8 02:06 file1.txt
La sortie ci-dessus montre que le sticky bit est défini avec le caractère t ou T dans les autorisations déposées. Le t minuscule représente que l'autorisation d'exécution est également activée et T en majuscule représentent que l'autorisation d'exécution n'est pas définie.
Qu'est-ce que SUID (setuid) ?
Si le bit SUID est défini sur un fichier et qu'un utilisateur l'a exécuté. Le processus aura les mêmes droits que le propriétaire du fichier en cours d'exécution.
Par exemple :passwd commande ont le bit SUID activé. Lorsqu'un utilisateur normal change son mot de passe, ce script met à jour quelques fichiers système comme /etc/passwd et /etc/shadow qui ne peut pas être mis à jour par un compte non root. Pour que passwd le processus de commande s'exécute toujours avec les droits d'utilisateur root.
Voici l'implémentation de SUID sur fichier sous le système Linux.
Méthode 1 :
chmod u+s file2.txt
##View the file permissions ls -l file2.txt
-rws r-xr-x 1 root root 0 Mar 8 02:06 file2.txt
Méthode 2 :
chmod 4655 tecadmin.txt
##View the file permissions ls -l tecadmin.txt
-rwS r-xr-x 1 root root 0 Mar 8 02:06 tecadmin.txt
Qu'est-ce que le SGID (setgid) ?
Identique à SUID, le processus aura les mêmes droits de groupe que le fichier en cours d'exécution. Si le bit SGID est défini sur n'importe quel répertoire, tous les sous-répertoires et fichiers créés à l'intérieur obtiendront la même propriété de groupe que le répertoire principal, peu importe qui le crée.
Comment définir le SGID sur un répertoire du système Linux.
chmod g+s /test
##View the file permissions ls -ld /test
drwxrws rwx 2 root root 4096 Mar 8 03:12 /test
Passez maintenant à un autre utilisateur et créez un fichier dans /test répertoire.
su - tecadmin
cd /test/
touch file3.txt
Next check the group ownership of the newly created file. It must be same as the /test directory group owner.ls -l file3.txt
-rw-rw-r-- 1 tecadmin root 0 Mar 8 03:13 file3.txtOui, c'est pareil. Le file3.txt est créé avec la propriété du groupe racine.
Merci d'avoir lu cet article, j'espère qu'il vous aidera à comprendre le sticky bit, SUID et SGID sous Linux.