Après avoir obtenu une réponse à ma question ici et effectué quelques recherches sur les résultats, j'ai trouvé un article qui explique très bien tout. Je voudrais partager certaines parties de cet article ici pour des références futures.
Voir les autorisations
Pour pouvoir chmod
modifier les autorisations d'un fichier ou d'un répertoire, vous devez d'abord connaître le mode d'accès actuel. Vous pouvez afficher le contenu d'un répertoire du terminal cd
dans ce répertoire, puis utiliser:
$ ls -l
Le -l
commutateur est important car son utilisation ls
sans afficher uniquement les noms de fichiers ou de dossiers du répertoire.
Voici un exemple d'utilisation ls -l
de mon répertoire personnel:
total 128
drwxr-xr-x 2 peter users 4096 Jul 5 21:03 Desktop
drwxr-xr-x 6 peter users 4096 Jul 5 17:37 Documents
drwxr-xr-x 2 peter users 4096 Jul 5 13:45 Downloads
drwxr-xr-x 2 peter users 4096 Jun 24 03:36 Movies
drwxr-xr-x 2 peter users 4096 Jun 24 03:38 Music
drwxr-xr-x 2 peter users 4096 Jun 26 00:09 Pictures
-rw-r--r-- 1 peter users 354 Jul 6 17:15 chmodtest
Que signifient les colonnes
La première colonne est le type de chaque fichier:
-
dénote un fichier normal.
d
désigne un répertoire, c’est-à-dire un dossier contenant d’autres fichiers ou dossiers.
p
désigne un tube nommé (ou FIFO).
l
dénote un lien symbolique.
Les lettres qui suivent sont les permissions, cette première colonne est ce qui nous intéressera le plus. La seconde est le nombre de liens dans un fichier, nous pouvons l’ignorer en toute sécurité. La troisième colonne a deux valeurs / noms: La première (dans mon exemple, "peter") est le nom de l'utilisateur qui possède le fichier. La deuxième valeur ("utilisateurs" dans l'exemple) est le groupe auquel appartient le propriétaire (en savoir plus sur les groupes).
La colonne suivante est la taille du fichier ou du répertoire en octets et les informations qui suivent sont les dates et heures de la dernière modification du fichier ou du répertoire, et bien sûr le nom du fichier ou du répertoire.
Que signifient les autorisations
Les trois premières lettres, après la première -
ou d
sont les autorisations dont dispose le propriétaire. Les trois lettres suivantes sont des autorisations qui s'appliquent au groupe. Les trois dernières lettres sont les autorisations qui s'appliquent à tout le monde.
Chaque série de trois lettres est composée de r
w
et x
. r
toujours en première position, w
toujours en deuxième position et x
toujours en troisième position. r
est l'autorisation de lecture, w
l'autorisation d'écriture et x
l'autorisation d'exécution. S'il y a un trait d'union ( -
) à la place de l'une de ces lettres, cela signifie que la permission n'est pas accordée, et si la lettre est présente, elle est accordée.
Dossiers
Dans le cas de dossiers, les bits de mode peuvent être interprétés comme suit:
r
(read) signifie la capacité de lire la table des matières du répertoire donné,
w
(write) signifie la possibilité d'écrire la table des matières du répertoire donné (créer de nouveaux fichiers, dossiers; renommer, supprimer des fichiers existants, dossiers) si et seulement si le bit d'exécution est défini. Sinon, cette permission n'a pas de sens.
x
(execute) signifie la possibilité d'entrer dans le répertoire donné avec la commande cd et d'accéder aux fichiers, dossiers de ce répertoire.
Modification des autorisations à l'aide de la commande chmod
chmod
est une commande sous Linux et d'autres systèmes d'exploitation de type Unix. Il vous permet de modifier les autorisations (ou le mode d'accès) d'un fichier ou d'un répertoire.
Vous pouvez modifier les autorisations de deux manières différentes: - à base de texte - à base de chmod
nombrechmod
Méthode de texte
Pour changer le mode de permissions ou d'accès d'un fichier, nous utilisons la commande chmod dans un terminal. Vous trouverez ci-dessous la structure générale de la commande:
chmod who=permissions filename
Where Who is any, parmi une série de lettres, chacune désignant à qui vous allez donner la permission. Ils sont comme suit:
u - The user that owns the file.
g - The group the file belongs to.
o - The other users i.e. everyone else.
a - all of the above - use this instead of having to type ugo.
Les autorisations sont les mêmes que déjà discuté ( r
, w
et x
).
La commande chmod nous permet d'ajouter et de soustraire des autorisations d'un ensemble existant en utilisant + ou - au lieu de =. Ceci diffère des commandes ci-dessus, qui consistent essentiellement à réécrire les autorisations (c.-à-d. Pour modifier une autorisation de r--
en rw-
, vous devez toujours inclure r
aussi bien w
qu'après =
la chmod
commande. Si vous ratez la fin r
, cela vous r
priverait de ils sont en train d'être réécrits avec le =. Utiliser + et - pour éviter cela en ajoutant ou en supprimant l'ensemble actuel des permissions).
Méthode du nombre
chmod
peut également définir des autorisations à l'aide de nombres.
L'utilisation de nombres est une autre méthode qui vous permet de modifier les autorisations pour les trois propriétaires, groupes et autres en même temps. Cette structure de base du code est la suivante:
chmod xxx file/directory
Où xxx est un nombre à 3 chiffres où chaque chiffre peut aller de 1 à 7. Le premier chiffre concerne les autorisations pour le propriétaire, le deuxième chiffre concerne les autorisations pour le groupe et le troisième chiffre concerne les autorisations pour tous les autres.
Dans cette notation numérique, les valeurs r, w et x ont leur propre valeur numérique:
r=4
w=2
x=1
Pour obtenir un nombre à trois chiffres, vous devez déterminer les autorisations que vous souhaitez attribuer à un propriétaire, à un groupe et à un utilisateur, puis faire le total de leurs valeurs. Par exemple, supposons que je souhaite accorder au propriétaire d’un répertoire des autorisations d’exécution, de lecture et d’écriture, et que je souhaite regrouper, ainsi que tous les autres utilisateurs, les autorisations de lecture et d’exécution. Je viendrais avec les valeurs numériques comme suit:
Owner: rwx = 4+2+1=7
Group: r-x = 4+0+1=5 (or just 4+1=5)
Other: r-x = 4+0+1=5 (or just 4+1=5)
Final number = 755
$ chmod 755 filename
Ceci équivaut à utiliser les éléments suivants:
chmod u=rwx filename
chmod go=rx filename
La plupart des dossiers / répertoires sont réglés sur 755 pour autoriser la lecture et l'écriture et l'exécution pour le propriétaire, mais refusent l'écriture à tout le monde, et les fichiers 644 pour autoriser la lecture et l'écriture pour le propriétaire mais uniquement pour la lecture par remarque sur le manque d'autorisations x avec des fichiers non exécutables - c'est la même affaire ici.