Dans ce rapide tutoriel, nous allons voir comment nous pouvons utiliser la commande chmod dans une machine Ubuntu pour trouver, modifier et supprimer les permissions de l’utilisateur sur des fichiers spécifiques qui existent sur le système de fichiers de l’utilisateur. Jouons à travers diverses conditions afin que nous puissions maîtriser les commandes chmod de base qui peuvent rendre notre vie quotidienne plus facile avec Ubuntu.
Les permissions Linux
Les permissions Linux sont un grand ensemble de règles qui sont simples à comprendre si nous saisissons les droits de base. Les trois points principaux que nous devons comprendre pour savoir comment les permissions Linux fonctionnent sont :
- L’élément pour lequel les permissions ont été définies
- Quelles actions peuvent être effectuées avec une permission
- Qui peut effectuer quelles actions
Il y a deux éléments de base dans le système de fichiers Linux :
- Répertoires
- Fichiers
Il y a trois actions qui peuvent être effectuées :
- Lecture
- Ecriture
- Exécution. En dehors de l’exécution de scripts, les mêmes actions sont nécessaires pour créer des fichiers et d’autres dossiers à l’intérieur
Les utilisateurs qui peuvent effectuer ces actions sont :
- Propriétaire du fichier
- Groupe du propriétaire du fichier
- Utilisateur qui n’est pas associé au groupe propriétaire ou au propriétaire lui-même
Pour voir les permissions liées à un fichier, exécutez la commande suivante :
Voici ce que nous obtenons en retour avec cette commande :
Recherche des autorisations pour les fichiers
Dans la sortie, les 10 premiers caractères présentent les autorisations pour le fichier :
- Le premier caractère, qui est ‘-‘ dans ce cas signifie qu’il s’agit d’un fichier. Pour un répertoire, cela aurait été un ‘d’.
- Les neuf caractères suivants représentent les permissions pour le propriétaire, le groupe du propriétaire et les autres, respectivement.
Modification des permissions
La syntaxe pour modifier la permission d’un fichier ressemble à :
Représentation octale pour les permissions
Nous pouvons présenter les permissions comme un nombre octal. Par exemple, pour définir des permissions de lecture, d’écriture & d’exécution pour le propriétaire, des permissions de lecture & d’écriture pour son groupe, et aucune permission pour les autres, sur un fichier hello.txt, nous exécuterons la commande suivante :
Une fois que nous exécutons la commande ci-dessus et que nous essayons de lire un fichier avec un compte non propriétaire en utilisant la commande suivante:
Nous obtiendrons l’erreur suivante:
Mais d’où vient ce nombre ? Chaque chiffre de ce nombre représente un ensemble de permissions. Voyons comment ils ont été dérivés :
- 0 : Signifie aucune permission
- 1 : Signifie la permission d’exécution
- 2 : Signifie la permission d’écriture
- 4 : Signifie la permission de lecture
Pour attribuer les permissions de lecture, d’écriture & d’exécution au propriétaire, nous lui avons attribué le numéro 7(= 4 + 2 + 1). Comprenons mieux ceci dans un tableau de chiffres :
Nombre | Binaire | Lecture | Écriture | Exécution |
0 | 000 | NON | NON | NON |
1 | 001 | NO | NO | YES |
2 | 010 | NO | OUI | NON |
3 | 011 | NON | OUI | OUI |
4 | 100 | OUI | NON | NON |
5 | 101 | OUI | NON | OUI |
6 | 110 | OUI | OUI | NO |
7 | 111 | OUI | OUI | OUI |
Le tableau ci-dessus est beaucoup plus clair dans ce que chacun représente en termes de permissions de fichiers.
Représentation des caractères pour les permissions
Nous pouvons présenter les permissions comme un nombre octal. Par exemple, pour définir des permissions de lecture, d’écriture & d’exécution pour le propriétaire, des permissions de lecture & d’écriture pour son groupe, et aucune permission pour les autres, sur un fichier hello.txt, nous exécuterons la commande suivante :
Pour ajouter des permissions à un utilisateur existant, nous pouvons également faire :
Ici, la permission d’écriture était attribuée au groupe d’utilisateurs du propriétaire du fichier.
Modifications récursives des permissions
Nous pouvons également modifier les permissions pour le fichier contenu dans un répertoire spécifique avec une seule commande. Pour modifier les permissions de chaque fichier et dossier d’un répertoire fourni en une seule fois, utilisez sudo chmod avec -R:
Nous pouvons voir la sortie suivante qui reflète clairement le changement des permissions des fichiers :
Modification récursive des permissions de fichiers
Conclusion
Dans cette leçon, nous avons regardé comment nous pouvons modifier les permssions d’un fichier et si besoin, le faire de manière récursive. Nous avons compris les concepts de base derrière la façon dont les permissions de Linux qui peut nous aider dans notre travail quotidien beaucoup.