Cet article explique les types de base des autorisations de répertoire, leur fonctionnement et comment les vérifier.
Que sont les autorisations de répertoire et comment s'appliquent-elles ?
Sous Linux®, un répertoire est un dossier dans lequel vous stockez des fichiers. Chaque fichier ou répertoire spécifie quels utilisateurs peuvent y accéder. Cet article explique comment définir les autorisations et éventuellement les remplacer.
Remplacer les exemples :
- Si vous êtes un chrooté/emprisonné utilisateur, vous ne pouvez accéder qu'aux fichiers ou répertoires dans lesquels vous êtes emprisonné.
- Si vous avez sudo/root au niveau des autorisations, vous pouvez contourner les autorisations de fichier ou de répertoire.
Liste des fichiers et des répertoires
Cette section contient des exemples d'opérations de liste Linux.
-
Lister uniquement les noms de fichiers et de répertoires :
# ls
-
Listez les fichiers et répertoires avec beaucoup plus d'informations :
# ls -l # ll
-
Listez les fichiers et répertoires et affichez tous les fichiers cachés :
# ls -a
Remarque : Les fichiers cachés sont souvent des fichiers de configuration que le système cache pour les protéger.
-
Listez les fichiers et répertoires avec beaucoup plus d'informations et avec les taillesen Ko ou Go au lieu de bits :
# ls -lh
Comprendre les résultats
Lorsque vous utilisez -l
, chaque fichier ou répertoire doit vous fournir les informations suivantes :
drwxr-xr-x. | jdoe | apache | 3864 | 8 mai 2021 | Mes trucs |
---|---|---|---|---|---|
Autorisations | Propriétaire de l'utilisateur | Propriétaire du groupe | Taille en bits. Utilisez -h pour convertir en Ko/Go | Quand il a été modifié pour la dernière fois | Nom |
Remarque sur les autorisations :S'il y a un d au départ, c'est un répertoire, pas un fichier.
Voici un guide plus détaillé sur la façon d'utiliser le ls
commande.
Utilisateur, groupe, autre
Chaque fichier et répertoire a trois types d'autorités d'utilisateur qu'il reconnaît :
- L'utilisateur défini comme Propriétaire de l'utilisateur .
- Tous les utilisateurs du groupe définis comme Propriétaire du groupe .
- Toute personne n'appartenant pas à ces deux premières catégories est appelée Autre .
Un groupe courant sur les serveurs Linux est apache
, afin que vous puissiez ajouter toute personne travaillant sur les sites Web à apache
groupe. Ils ont alors l'accès dont ils ont besoin à tous les fichiers et répertoires liés au site Web.
-
Modifier l'utilisateur propriétaire d'un fichier ou d'un répertoire :
# chown <user>: /MyStuff
-
Modifier le propriétaire du groupe d'un fichier ou d'un répertoire :
# chown :<group> /MyStuff
-
Modifier l'utilisateur propriétaire + le groupe propriétaire d'un fichier ou d'un répertoire :
# chown <user>:<group> /MyStuff
-
Modifiez le propriétaire de l'utilisateur et le propriétaire du groupe d'un fichier ou d'un répertoire et de tout ce qu'il contient :
Important : Soyez prudent avec cette commande, car vous modifiez plusieurs fichiers sans option d'annulation.
# chown -R <user>:<group> /MyStuff
Lire, écrire, exécuter
Une fois qu'un fichier ou un répertoire vous reconnaît en tant que propriétaire d'utilisateur, propriétaire de groupe ou autre, il attribue une combinaison des autorisations suivantes :
- r :L'autorisation de lecture vous permet d'afficher ou de lire le fichier ou le répertoire.
- w :L'autorisation d'écriture vous permet d'écrire ou de modifier le fichier ou le répertoire.
- x :L'autorisation d'exécution vous permet d'exécuter un fichier exécutable ou de rechercher un répertoire.
Chaque autorité d'utilisateur les reçoit, dans l'ordre, où un -
représente cette autorisation étant absente. Par exemple, le tableau suivant explique les autorisations rwxr-xr– :
rwx | r-x | r-- |
---|---|---|
La première partie, les autorisations du propriétaire de l'utilisateur | La deuxième partie, les autorisations du propriétaire du groupe | La troisième partie, Autres autorisations |
lire, écrire, exécuter | lire, exécuter | lire |
Cet utilisateur peut tout faire | Cet utilisateur peut consulter et exécuter le fichier. Mais ne le modifiez pas | Cet utilisateur ne peut que le consulter |
L'image suivante fournit un moyen simple de visualiser cela :
Comment modifier les autorisations avec des lettres
-
Modifier les autorisations de fichier ou de répertoire :
# chmod ugo+-=rwx /MyStuff
- Utilisez n'importe quelle combinaison de ugo pour représenter l'utilisateur, le groupe, autre.
- Utilisez n'importe quelle combinaison de +-= pour représenter l'ajout, la suppression ou la modification des autorisations actuelles aux autorisations spécifiées.
- Utilisez n'importe quelle combinaison de rwx pour représenter lire, écrire, exécuter.
-
Donner lire autorisations à autre :
# chmod o+r /MyStuff
-
Supprimer modifier et exécuter autorisations pour groupe et autre :
# chmod go-wx /MyStuff
Le tableau suivant aide à illustrer ce concept :
u utilisateur | + | j'ai lu |
---|---|---|
g groupe | - | w écris |
ou autre | = | x exécuter |
Remarque : chmod
peut aussi utiliser -R
pour modifier de manière récursive tous les fichiers et répertoires de ce répertoire. Comme précédemment, procédez avec prudence car il n'y a pas d'option d'annulation.
Comment modifier les autorisations avec des chiffres
-
Modifier les autorisations de fichier ou de répertoire :
# chmod 777 /MyStuff
Cette méthode utilise les mathématiques, où vous additionnez les valeurs de chaque autorisation pour produire un résultat final à trois chiffres :
votre utilisateur | groupe g | o autre | |
---|---|---|---|
r lu =4 | |||
écrire =2 | |||
x exécuter =1 |
- Donnez rwxr-xr– autorisations :
votre utilisateur | groupe g | o autre | |
---|---|---|---|
r lu =4 | ✓ | ✓ | ✓ |
écrire =2 | ✓ | ||
x exécuter =1 | ✓ | ✓ | |
4+2+1 =7 | 4+1 =5 | 4 |
Utilisez la commande suivante :
# chmod 754 /MyStuff
Remarque : chmod
peut aussi utiliser -R
pour modifier de manière récursive tous les fichiers et répertoires de ce répertoire. Comme précédemment, procédez avec prudence car il n'y a pas d'option d'annulation.
Voici un guide plus détaillé sur l'utilisation de chmod
AVERTISSEMENT : Ne pas utiliser chmod 777
sauf si vous êtes sûr, ça va. Linux, par défaut, a mis en place de solides mesures de sécurité. Cependant, certains fichiers de configuration ne sont pas destinés à être modifiés par qui que ce soit. Ce sont des fichiers fondateurs qui permettent des fonctions de base pour l'ordinateur ou le serveur. Par exemple, ils déterminent comment activer et autoriser les utilisateurs à se connecter. S'ils sont définis sur 777, l'ordinateur ou le serveur suppose qu'il a été piraté et arrête tout . Dans ce cas, vous ne pouvez pas vous connecter, vous ne pouvez pas allumer l'appareil et il est irrécupérable. C'est un moyen très simple de casser complètement votre serveur, alors utilisez chmod
avec soin.
Comment pratiquer
-
Créer un répertoire :
# mkdir /MyStuff
Vous êtes alors libre de ls -l
, chown
, et chmod
ce répertoire vide autant que vous le souhaitez. Lorsque vous avez terminé, nettoyez après vous.
-
Supprimer le répertoire :
# rmdir /MyStuff
Scénarios plus avancés
Voici quelques scénarios à explorer :
Scénario 1
L'utilisateur jdoe
a besoin d'accéder à un répertoire spécifique. Cependant, vous souhaitez conserver le propriétaire de l'utilisateur et les propriétaires du groupe tels qu'ils sont.
Choix :
- Ajouter jdoe au groupe qui possède le répertoire. Cela donne
jdoe
accéder à tous les autres fichiers ou répertoires appartenant à ce groupe. - Accorder plus d'autorisations à "Autre" sur ce répertoire. Cela donne cet accès à tous les autres utilisateurs de votre ordinateur ou de votre serveur.
- Donnez à jdoe
sudo
autorisations.jdoe
peut utilisersudo
pour remplacer les autorisations de fichiers ou de répertoires individuels. Cependant, "jdoe" aurait alors les permissions d'administrateur pour accéder à tout ce qui se trouve sur votre ordinateur ou votre serveur.
Scénario 2
Vos développeurs veulent changer /etc et tout ce qu'il contient à 777
autorisations.
Réponse :DITES-LEUR NON .
Il existe de nombreux fichiers système qui cassent et peuvent potentiellement faire tomber l'ensemble de votre serveur . Au lieu de cela, demandez-leur spécifiquement à quels fichiers ou répertoires ils ont besoin d'accéder et de quel type d'accès ils ont besoin.
Voici un guide plus détaillé pour comprendre les autorisations de fichiers Linux
Scénario 3
t s S + : Si vous exécutez ls -l
et voir les autorisations qui incluent un t s S or+ , ne continuez pas.
Ce sont des autorisations de fichiers et de répertoires plus avancées comme les SUID, les Sticky Bits et les ACL. Ils sont plus complexes, mais peuvent être complètement remplacés par un chmod
normal commande.
Utilisez l'onglet Commentaires pour faire des commentaires ou poser des questions. Vous pouvez également démarrer une conversation avec nous.