En tant qu'utilisateur novice de Linux, vous découvrez les autorisations et la propriété associées au fichier et aux répertoires. Les systèmes d'exploitation de type Linux/Unix vous permettent de définir une combinaison d'autorisations de neuf bits pour empêcher les autres utilisateurs d'accéder aux fichiers/répertoires inutiles. Des autorisations spéciales pour les fichiers exécutables sont similaires à celles-ci, appelées définir l'UID, définir le GID et les bits persistants.
Comprendre les autorisations spéciales peut être un peu écrasant pour les aspirants administrateurs Linux. Ici, vous apprendrez un peu de fond sur les autorisations de fichier régulières et expliquerez en quoi elles diffèrent des autorisations spéciales. Nous démontrons également les fonctionnalités SetID, GetID et sticky bits avec des exemples pour une compréhension globale.
Autorisations de fichiers Linux régulières
Linux utilise le commande chmod attribuer/modifier la lecture (r=4), écrivez (w=2), et exécutez (x=1
) autorisations sur les fichiers et dossiers. C'est-à-dire que les neuf bits mentionnés ci-dessus s'appliquent aux trois catégories principales de groupes de permissions. Les trois premiers sont destinés à l'utilisateur propriétaire du fichier, le second au groupe affecté au fichier/répertoire et les trois derniers représentent tous les autres utilisateurs.Par exemple, un fichier normal affichera tous les types d'autorisations pour toutes les catégories d'utilisateurs sous la forme -rwxrwxrwx. Tandis que - à la place des lettres représente l'absence de cette autorisation. À présent chmod La commande utilise des chiffres et des lettres pour modifier les autorisations comme suit :
fichier sudo chmod 755 # pour rwxr-xr-x
fichier sudo chmod 644 # pour rw-r--r--
fichier sudo chmod a-w #pour r-xr-xr-x
sudo chmod a+x fichier #pour --x--x--x
Autorisations spéciales de fichiers Linux
le setuid bit représente l'autorisation sur un fichier exécutable qui peut être exécuté par d'autres utilisateurs avec l'autorisation du propriétaire. Par exemple, lorsque l'utilisateur max exécute la commande vi en tant qu'utilisateur Jean, vous aurez les autorisations de lecture/écriture de Jean.
Pour identifier les fichiers avec setuid, utilisez le ls commande et recherchez le s bit à la place du bit exécutable X, comme suit.
Définir le bit UID
le setuid bit représente l'autorisation sur un fichier exécutable qui peut être exécuté par d'autres utilisateurs avec l'autorisation du propriétaire. Par exemple, lorsque l'utilisateur max exécute la commande vi en tant que racine, il aura les autorisations de lecture/écriture du racine. Pour identifier les fichiers avec setuid, utilisez le ls commande et recherchez le s bit à la place du bit d'exécution X, comme suit:
ls -la /etc/passwd
-rwsr-xr-x 1 root root 88464 14 décembre 12:46 passwd
Voici d'autres exemples :
ls -la /bin/gpasswd
-rwsr-xr-x 1 root root 88464 14 juillet 15:08 gpasswd
ls -la /bin/su
-rwsr-xr-x 1 root root 67816 21 juillet 2020 su
ls -la /newgrp
-rwsr-xr-x 1 root root 44784 14 juillet 15:08 newgrp
ls -la /bin/sudo
-rwsr-xr-x 1 root root 166056 19 janvier 2021 sudo
Pour définir le bit setuid pour les fichiers exécutables, utilisez la commande chmod comme suit :
chmod u+s /etc/passwd
Pour supprimer l'autorisation d'exécuter les fichiers aux utilisateurs ou propriétaires non root :
chmod u-s /etc/passwd
Définir le bit GID
Comme indiqué, le bit set uid contrôle l'accès aux fichiers pour les autres utilisateurs, tandis que le bit setgid (GID) crée des répertoires collaboratifs. Cela signifie que tout fichier créé dans ce répertoire est accessible au groupe du répertoire. Par conséquent, il permet à tous les membres du groupe d'exécuter des fichiers exécutables sans les privilèges du propriétaire et les protège des autres utilisateurs.
Suivez ces étapes pour créer un répertoire collaboratif dans votre système Linux :
Créer un groupe à l'aide du groupeajouter commande avec l'ID de groupe 415 pour la collaboration :
groupadd -g 415 administrateurs
Utilisez la commande usermod pour ajouter Jeanau groupe pour l'accès/l'exécution des fichiers.
usermod -aG admins john
Utilisez le mkdir commande pour créer un répertoire :
mkdir /tmp/collaborative_dir
Utilisez le chgrp commande pour affecter le répertoire au administrateurs grouper:
administrateurs chgrp /tmp/collaborative_dir
Utilisez le chmod commande pour changer l'autorisation du répertoire en 2775. Le bit 2 active le gid défini, 7 pour attribuer le rwx complet à l'utilisateur et au groupe, tandis que 5 (r-w) pour les autres.
chmod 2775 /tmp/collaborative_dir
Enfin, changez votre compte utilisateur en Jean et créer un fichier dans le répertoire collaboratif pour vérifier les permissions des fichiers.
su - jean
touchez /tmp/collaborative_dir/file.txt
La commande su peut vous donner une erreur d'authentification. Dans ce cas, tapez le sudo su commande pour passer à la racine et réexécuter su - jean pour changer le compte utilisateur
Répertoriez maintenant les autorisations pour vérifier le(s) bit(s) GID défini(s) pour le répertoire et le fichier nouvellement créé.
ls -ld /tmp/collaborative_dir /tmp/collaborative_dir/file.txt
Dans un scénario typique, un fichier créé par john se verra attribuer un groupe john. Étant donné que vous créez le fichier dans un répertoire de bits GID défini, il attribue des autorisations au administrateurs groupe, de sorte que toute personne appartenant au groupe, comme l'utilisateur chris, y aura accès.En rapport: Comment créer de nouveaux fichiers sur Linux en utilisant le toucher
Bits collants
Contrairement aux bits SID et GID, les bits collants diffèrent par leur fonctionnalité car ils protègent les fichiers et les répertoires contre le renommage et la suppression par d'autres utilisateurs. L'autorisation de fichier standard permet à tout utilisateur disposant d'un accès en écriture de supprimer ou de renommer le fichier. Alors qu'avec le sticky bit défini, cela n'est possible que si vous êtes l'utilisateur root ou le propriétaire du fichier.
Le scénario idéal pour l'utilisation de sticky bits est le répertoire accessible à tous les utilisateurs pour la création de fichiers. Par exemple, utilisez le ls -ld commande pour vérifier le \tmp autorisations de répertoire, comme suit :
Vous pouvez remarquer que le peu collant t remplace le bit d'exécution X. Suivez les instructions données pour créer un répertoire de suppression restreint :
Créez maintenant un autre répertoire dans le /tmp dossier:
mkdir /tmp/nouveau_dir
Modifiez les autorisations de fichier en 1777 pour régler le bit collant (t) et un accès complet au répertoire :
chmod 1777 /tmp/nouveau_rép
Copiez maintenant n'importe quel fichier du /etc dossier vers /tmp/new_dir et modifier ses autorisations en 666:
cp /etc/ /tmp/nouveau_rép
chmod 666 /tmp/nouveau_rép/services
Répertoriez le répertoire et tout son contenu pour afficher les autorisations :
ls -ld /tmp/nouveau_rép /tmp/nouveau_rép/services
Vous pouvez remarquer le bit collant au lieu du bit d'exécution, ce qui signifie que seul le root ou l'utilisateur john peut supprimer le fichier, car le fichier se trouve dans le répertoire sticky bit.
Comprendre les autorisations de fichiers spéciaux sous Linux
L'article montre comment définir ces bits pour améliorer la collaboration sur les fichiers et répertoires partagés et les protéger contre les accès, exécutions et suppressions non autorisés. Même si vous ne créez pas de fichiers/répertoires avec ces bits, la compréhension des autorisations de fichiers spéciales est utile dans de nombreuses situations, en particulier pour le dépannage ou en tant qu'administrateur système. Considérant qu'une utilisation imprudente de ces bits peut entraîner diverses vulnérabilités de sécurité.
Vous voulez conserver les autorisations de fichiers lors de la copie de fichiers sous Linux? Voici comment le faire en utilisant cp et rsync.
Lire la suite
- Linux
- Gestion de fichiers
- Linux
Rumaisa est un écrivain indépendant à MUO. Elle a parcouru un long chemin, passant d'une mathématicienne à une passionnée de la sécurité de l'information, et travaille en tant qu'analyste SOC. Ses intérêts incluent la lecture et l'écriture sur les nouvelles technologies, les distributions Linux et tout ce qui concerne la sécurité de l'information.
Abonnez-vous à notre newsletter
Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !
Cliquez ici pour vous abonner