Dans ce chapitre, nous allons discuter en détail sur les permissions sur les fichiers et les modes d’accès dans les environnements Unix. La propriété des fichiers est un composant important d’Unix qui fournit une méthode sécurisée pour stocker les fichiers., Chaque fichier sous Unix a les attributs suivants-
-
autorisations du propriétaire − les autorisations du propriétaire déterminent les actions que le propriétaire du fichier peut effectuer sur le fichier.
-
autorisations de groupe − les autorisations du groupe déterminent les actions qu’un utilisateur, membre du groupe auquel appartient un fichier, peut effectuer sur le fichier.
-
autres autorisations (monde) − les autorisations pour les autres indiquent quelle action tous les autres utilisateurs peuvent effectuer sur le fichier.,
les indicateurs D’autorisation
lors de l’utilisation de la commande ls-l, il affiche diverses informations relatives à l’autorisation de fichier comme suit −
$ls -l /home/amrood-rwxr-xr-- 1 amrood users 1024 Nov 2 00:10 myfiledrwxr-xr--- 1 amrood users 1024 Nov 2 00:10 mydir
ici, la première colonne représente différents modes d’accès, c’est-à-dire l’autorisation associée à un fichier ou
Les autorisations sont répartis en groupes de trois, et chaque position dans le groupe dénote d’une autorisation spécifique, dans cet ordre: lecture (r), écriture (w), d’exécution (x) −
Fichier Modes d’Accès
Les autorisations d’un fichier sont la première ligne de défense de la sécurité d’un système Unix., Les blocs de construction de base des autorisations Unix sont les autorisations de lecture, d’écriture et d’exécution, qui ont été décrites ci −dessous –
Read
accorde la capacité de lire, c’est-à-dire d’afficher le contenu du fichier.
Write
Accorde la possibilité de modifier ou supprimer le contenu du fichier.
Execute
L’utilisateur disposant des autorisations execute peut exécuter un fichier en tant que programme.
modes D’accès au répertoire
Les modes d’accès au répertoire sont répertoriés et organisés de la même manière que tout autre fichier., Il y a quelques différences qui doivent être mentionnés −
Lire
l’Accès à un répertoire signifie que l’utilisateur peut lire le contenu. L’utilisateur peut consulter les noms de fichiers dans le répertoire.
Write
l’Accès signifie que l’utilisateur peut ajouter ou supprimer des fichiers à partir du répertoire.
Execute
L’exécution d’un répertoire n’a pas vraiment de sens, alors considérez cela comme une autorisation de traversée.
un utilisateur doit avoir un accès execute au répertoire bin afin d’exécuter la commande ls ou cd.,
modification des Permissions
pour modifier les permissions du fichier ou du répertoire, utilisez la commande chmod (changer le mode). Il existe deux façons d’utiliser chmod: le mode symbolique et le mode absolu.
utilisation de chmod en mode symbolique
le moyen le plus simple pour un débutant de modifier les autorisations de fichier ou de répertoire est d’utiliser le mode symbolique. Avec les autorisations symboliques, vous pouvez ajouter, supprimer ou spécifier le jeu d’autorisations souhaité à l’aide des opérateurs du tableau suivant.
Sr Pas de., | Chmod opérateur & Description |
---|---|
1 |
+ Ajoute désigné autorisation(s) d’un fichier ou d’un répertoire. |
2 |
Supprime désignés autorisation(s) à partir d’un fichier ou d’un répertoire. |
3 |
= Ensembles désignés autorisation(s). |
Voici un exemple d’utilisation testfile., L’exécution de ls -1 sur le fichier test montre que les autorisations du fichier sont les suivantes −
$ls -l testfile-rwxrwxr-- 1 amrood users 1024 Nov 2 00:10 testfile
ensuite, chaque exemple de commande chmod de la table précédente est exécuté sur le fichier test, suivi de ls –l, de sorte que vous pouvez voir les modifications d’autorisation −
Voici comment vous pouvez combiner
utilisation de chmod avec des autorisations absolues
la deuxième façon de modifier les autorisations avec la commande chmod est D’utiliser un nombre pour spécifier chaque ensemble D’autorisations pour le fichier.,
Chaque autorisation est attribuée une valeur, comme le montre le tableau suivant, et le total de chaque ensemble d’autorisations fournit un certain nombre de l’ensemble.
Voici un exemple utilisant le fichier test. L’exécution de ls -1 sur le fichier test montre que les autorisations du fichier sont les suivantes –
$ls -l testfile-rwxrwxr-- 1 amrood users 1024 Nov 2 00:10 testfile
ensuite, chaque exemple de commande chmod de la table précédente est exécuté sur le fichier test, suivi de ls –l, de sorte que vous pouvez voir les modifications d’autorisation −
modification des propriétaires et des groupes
lors de la création d’un compte sous Unix, il attribue un identifiant de propriétaire et un identifiant de groupe à chaque utilisateur., Toutes les autorisations mentionnées ci-dessus sont également attribuées en fonction du propriétaire et des groupes.
Deux commandes sont disponibles pour modifier le propriétaire et le groupe de fichiers
-
chown − La commande chown signifie « changement de propriétaire » et est utilisé pour changer le propriétaire d’un fichier.
-
chgrp − La commande chgrp signifie « changer de groupe » et est utilisé pour changer le groupe d’un fichier.
Modification de la Propriété
La commande chown change le propriétaire d’un fichier., La syntaxe de base est comme suit:
$ chown user filelist
La valeur de l’utilisateur peut être soit le nom d’un utilisateur sur le système ou l’id utilisateur (uid) d’un utilisateur sur le système.
L’exemple suivant vous aidera à comprendre le concept −
$ chown amrood testfile$
Change le propriétaire du fichier à l’utilisateur amrood.
remarque – le super-utilisateur, root, a la capacité illimitée de changer la propriété de n’importe quel fichier, mais les utilisateurs normaux peuvent changer la propriété de seulement les fichiers qu’ils possèdent.,
modification de la propriété du groupe
la commande chgrp modifie la propriété du groupe d’un fichier. La syntaxe de base est comme suit:
$ chgrp group filelist
La valeur de groupe peut être le nom d’un groupe sur le système ou l’IDENTIFIANT de groupe (GID) d’un groupe sur le système.
l’exemple Suivant vous aide à comprendre le concept −
$ chgrp special testfile$
Change le groupe du fichier donné au groupe spécial.
autorisation de fichier SUID et SGID
souvent, lorsqu’une commande est exécutée, elle doit être exécutée avec des privilèges spéciaux afin d’accomplir sa tâche.,
par exemple, lorsque vous modifiez votre mot de passe avec la commande passwd, votre nouveau mot de passe est stocké dans le fichier /etc/shadow.
en tant Qu’utilisateur normal, vous n’avez pas le lire ou l’accès en écriture à ce fichier pour des raisons de sécurité, mais lorsque vous modifiez votre mot de passe, vous devez avoir l’autorisation d’écriture sur ce fichier. Cela signifie que le programme passwd doit vous donner des autorisations supplémentaires afin que vous puissiez écrire dans le fichier /etc/shadow.
des autorisations supplémentaires sont accordées aux programmes via un mécanisme connu sous le nom de bits Set User ID (SUID) et Set Group ID (SGID).,
lorsque vous exécutez un programme dont le bit SUID est activé, vous héritez des autorisations du propriétaire de ce programme. Les programmes qui n’ont pas le jeu de bits SUID sont exécutés avec les autorisations de l’utilisateur qui a démarré le programme.
c’est également le cas avec SGID. Normalement, les programmes s’exécutent avec les autorisations de votre groupe, mais à la place, votre groupe sera changé uniquement pour ce programme en Propriétaire de groupe du programme.
Les bits SUID et SGID apparaîtront sous la forme de la lettre « s » si l’autorisation est disponible., Le bit « s » de SUID sera situé dans les bits d’autorisation où réside normalement l’autorisation d’exécution des propriétaires.
Par exemple, la commande
$ ls -l /usr/bin/passwd-r-sr-xr-x 1 root bin 19031 Feb 7 13:47 /usr/bin/passwd*$
Indique que le bit SUID est réglé et que la commande est la propriété de la racine. Une lettre majuscule S dans la position execute au lieu d’un s minuscule indique que le bit execute n’est pas défini.,
Si le sticky bit est activé sur le répertoire, les fichiers ne peuvent être enlevés si vous êtes l’un des utilisateurs suivants −
- Le propriétaire de l’collant directory
- Le propriétaire du fichier supprimé
- Le super-utilisateur, racine
Pour définir le SUID et SGID bits pour n’importe quel répertoire essayez la commande suivante
$ chmod ug+s dirname$ ls -ldrwsr-sr-x 2 root root 4096 Jun 19 06:45 dirname$