How to Use the chmod Command on Linux

https://www.profitableratecpm.com/f4ffsdxe?key=39b1ebce72f3758345b2155c98e6709c

Contrôler qui peut accéder aux fichiers, rechercher les répertoires et exécuter des scripts à l’aide des Linux chmod commande. Cette commande modifie les autorisations de fichiers Linux, qui semblent compliquées à première vue mais sont en fait assez simples une fois que vous savez comment elles fonctionnent.

ChMOD modifie les autorisations de fichiers

Dans Linux, qui peut faire ce qu’un fichier ou un répertoire est contrôlé par des ensembles d’autorisations. Il y a trois ensembles d’autorisations. Un ensemble pour le propriétaire du fichier, un autre ensemble pour les membres du groupe du fichier et un ensemble final pour tout le monde.

Les autorisations contrôlent les actions qui peuvent être effectuées sur le fichier ou le répertoire. Ils permettent ou empêchent, un fichier d’être lu, modifié ou, s’il s’agit d’un script ou d’un programme, exécuté. Pour un répertoire, les autorisations régissent qui peuvent cd dans le répertoire et qui peut créer ou modifier des fichiers dans le répertoire.

Vous utilisez le chmod commande pour définir chacune de ces autorisations. Pour voir quelles autorisations ont été définies sur un fichier ou un répertoire, nous pouvons utiliser ls Options de commande.

Affichage et compréhension des autorisations de fichiers

Nous pouvons utiliser le -l (Format long) option pour avoir ls Énumérez les autorisations de fichiers pour les fichiers et les répertoires.

ls -l
Sortie de LS -L dans une fenêtre de terminal

Sur chaque ligne, le premier personnage identifie le type d’entrée répertorié. Si c’est un tableau de bord (-) c’est un fichier. Si c’est la lettre d C’est un répertoire.

Les neuf caractères suivants représentent les paramètres des trois ensembles d’autorisations.

  • Les trois premiers caractères montrent les autorisations de l’utilisateur qui possède le fichier (autorisation de l’utilisateur).

  • Les trois personnages du milieu montrent les autorisations des membres du groupe du fichier (autorisations de groupe).

  • Les trois derniers personnages montrent les autorisations pour quiconque n’est pas dans les deux premières catégories (autres autorisations).

Il y a trois caractères dans chaque ensemble d’autorisations. Les caractères sont des indicateurs de la présence ou de l’absence de l’une des autorisations. Ils sont soit un tableau de bord (-) ou une lettre. Si le personnage est un tableau de bord, cela signifie que l’autorisation n’est pas accordée. Si le personnage est un r, wou un xcette autorisation a été accordée.

Les lettres représentent:

  • R: Lisez les autorisations. Le fichier peut être ouvert et son contenu affiché.

  • W: Écrire les autorisations. Le fichier peut être modifié, modifié et supprimé.

  • X: Exécuter les autorisations. Si le fichier est un script ou un programme, il peut être exécuté (exécuté).

Par exemple:

  • --- signifie qu’aucune autorisation n’a été accordée du tout.
  • rwx Des autorisations complètes ont été accordées. Les indicateurs de lecture, d’écriture et d’exécution sont tous présents.

Dans notre capture d’écran, la première ligne commence par un d. Cette ligne fait référence à un répertoire appelé “Archive”. Le propriétaire du répertoire est “Dave”, et le nom du groupe auquel le répertoire appartient est également appelé “Dave”.

Les trois caractères suivants sont les autorisations utilisateur pour ce répertoire. Ceux-ci montrent que le propriétaire a des autorisations complètes. Le r, wet x Les personnages sont tous présents. Cela signifie que l’utilisateur Dave a lu, écrit et exécuté des autorisations pour ce répertoire.

Le deuxième ensemble de trois caractères est les autorisations de groupe, ce sont r-x. Ceux-ci montrent que les membres du groupe Dave ont lu et exécuté des autorisations pour ce répertoire. Cela signifie qu’ils peuvent énumérer les fichiers et leur contenu dans le répertoire, et ils peuvent cd (exécuter) dans ce répertoire. Ils n’ont pas d’autorisations d’écriture, ils ne peuvent donc pas créer, modifier ou supprimer des fichiers.

En rapport

Comment obtenir une feuille de triche pour n’importe quelle commande dans le terminal Linux

Parfois, la tricherie est nécessaire.

L’ensemble final de trois caractères est également r-x. Ces autorisations s’appliquent aux personnes qui ne sont pas régies par les deux premiers ensembles d’autorisations. Ces personnes (appelées “autres”) ont lu et exécuté des autorisations sur ce répertoire.

Ainsi, pour résumer, les membres du groupe et autres ont lu et exécuté des autorisations. Le propriétaire, un utilisateur appelé Dave, a également des autorisations d’écriture.

Pour tous les autres fichiers (à l’exception du fichier de script MH.sh) et les membres du groupe Dave ont lu et écrit des propriétés sur les fichiers, et les autres ont uniquement lu les autorisations.

Pour le cas spécial du fichier de script MH.sh, le propriétaire Dave et les membres du groupe ont lu, écrit et exécuté des autorisations, et les autres ont lu et exécuté des autorisations uniquement.

Comprendre la syntaxe d’autorisation

Pour utiliser chmod Pour définir les autorisations, nous devons le dire:

  • Qui: pour qui nous définissons les autorisations.

  • Quoi: quel changement faisons-nous? Ajoutons-nous ou supprimons-nous l’autorisation?

  • Lequel: lequel des autorisations définissons-nous?

Nous utilisons des indicateurs pour représenter ces valeurs et former de courtes “déclarations d’autorisations” telles que u+xoù “u” signifie “utilisateur” (qui), “+” signifie ajouter (quoi), et “x” signifie l’autorisation d’exécution (qui).

Les valeurs “who” que nous pouvons utiliser sont:

  • U: utilisateur, ce qui signifie le propriétaire du fichier.

  • G: groupe, signifiant les membres du groupe auquel appartient le fichier.

  • O: d’autres, ce qui signifie des personnes non régies par le u et g autorisation.

  • R: Tout, ce qui signifie tout ce qui précède.

Si aucun de ces éléments n’est utilisé, chmod se comporte comme “a“avait été utilisé.

Les valeurs “quelles” nous pouvons utiliser sont:

  • -: Moins signe. Supprime l’autorisation.

  • +: Plus signe. Accorde l’autorisation. L’autorisation est ajoutée aux autorisations existantes. Si vous souhaitez avoir cette autorisation et uniquement cet ensemble d’autorisation, utilisez le = Option, décrite ci-dessous.

  • =: Est égal au signe. Réglez une autorisation et en supprimez les autres.

Les valeurs “quelles” que nous pouvons utiliser sont:

  • R: L’autorisation de lecture.

  • W: l’autorisation d’écriture.

  • X: l’autorisation d’exécution.

Définition et modification des autorisations

Disons que nous avons un fichier où tout le monde a des autorisations complètes.

ls -l new_file.txt
ls -l new_ file.txt dans une fenêtre de terminal

Nous voulons que l’utilisateur Dave ait lu et rédige des autorisations et que le groupe et les autres utilisateurs aient des autorisations de lecture uniquement. Nous pouvons faire en utilisant la commande suivante:

chmod u=rw,og=r new_file.txt
chmod u = rw, og = r new_file.txt dans une fenêtre de terminal

L’utilisation de l’opérateur “=” signifie que nous éliminons toutes les autorisations existantes, puis définissons celles spécifiées.

Vérifions la nouvelle autorisation sur ce fichier:

ls -l new_file.txt
ls -l new_ file.txt dans une fenêtre de terminal

Les autorisations existantes ont été supprimées et les nouvelles autorisations ont été définies, comme nous l’avons prévu.

Que diriez-vous d’ajouter une autorisation sans retirer les paramètres des autorisations existantes? Nous pouvons aussi le faire facilement.

Disons que nous avons un fichier de script que nous avons terminé l’édition. Nous devons le rendre exécutable pour tous les utilisateurs. Ses autorisations actuelles ressemblent à ceci:

ls -l new_script.sh
ls -l new_script.sh dans une fenêtre de terminal

Nous pouvons ajouter l’autorisation d’exécution pour tout le monde avec la commande suivante:

chmod a+x new_script.sh
chmod a + x new_script.sh dans une fenêtre de terminal

Si nous jetons un coup d’œil aux autorisations, nous verrons que l’autorisation d’exécution est désormais accordée à tout le monde et que les autorisations existantes sont toujours en place.

ls -l new_script.sh
ls -l new_script.sh dans une fenêtre de terminal

Nous aurions pu réaliser la même chose sans la déclaration “A” dans l’instruction “A + X”. La commande suivante aurait aussi bien fonctionné.

chmod +x new_script.sh

Définition des autorisations pour plusieurs fichiers

Nous pouvons appliquer des autorisations à plusieurs fichiers à la fois.

Ce sont les fichiers du répertoire actuel:

ls -l
ls -l dans une fenêtre de terminal

Disons que nous voulons supprimer les autorisations de lecture pour les “autres” utilisateurs des fichiers qui ont une extension “.page”. Nous pouvons le faire avec la commande suivante:

chmod o-r *.page
chmod ou * .page dans une fenêtre de terminal

Vérifions quel effet il a eu:

ls -l
ls -l dans une fenêtre de terminal

Comme nous pouvons le voir, l’autorisation de lecture a été supprimée des fichiers “.page” pour la catégorie “autre” d’utilisateurs. Aucun autre fichier n’a été affecté.

Si nous avions voulu inclure des fichiers dans les sous-répertoires, nous aurions pu utiliser le -R (récursif) option.

chmod -R o-r *.page

Cependant, cela ne fonctionne pas vraiment comment vous le pensez. Il n’agit de manière récursive que si votre sous-répertoire est nommé “* .page”, ce qui est peu probable. Si vous souhaitez vraiment appliquer des autorisations récursivement, vous devez utiliser ChMOD en combinaison avec la commande Find.

Sténographie numérique

Une autre façon d’utiliser chmod est de fournir les autorisations que vous souhaitez donner au propriétaire, au groupe et autres comme numéro à trois chiffres. Le chiffre le plus à gauche représente les autorisations pour le propriétaire. Le chiffre du milieu représente les autorisations pour les membres du groupe. Le chiffre le plus à droite représente les autorisations pour les autres.

Les chiffres que vous pouvez utiliser et ce qu’ils représentent sont répertoriés ici:

  • 0: (000) Aucune autorisation.

  • 1: (001) Exécuter l’autorisation.

  • 2: (010) Permission d’écriture.

  • 3: (011) Écrivez et exécuter les autorisations.

  • 4: (100) Lire l’autorisation.

  • 5: (101) Lire et exécuter les autorisations.

  • 6: (110) Lire et écrire les autorisations.

  • 7: (111) Lisez, écrivez et exécutez les autorisations.

Chacune des trois autorisations est représentée par l’un des bits de l’équivalent binaire du nombre décimal. Donc 5, qui est 101 en binaire, signifie lire et exécuter. 2, qui est 010 en binaire, signifierait l’autorisation d’écriture.

En rapport

Ces raccourcis de ligne de commande Linux augmenteront votre efficacité

Travaillez plus intelligemment, pas plus dur.

En utilisant cette méthode, vous définissez les autorisations que vous souhaitez avoir; Vous n’ajoutez pas ces autorisations aux autorisations existantes. Donc, si des autorisations de lecture et d’écriture étaient déjà en place, vous devriez utiliser 7 (111) pour ajouter des autorisations d’exécution. L’utilisation 1 (001) supprimerait les autorisations de lecture et d’écriture et ajouterait l’autorisation d’exécution.

Ajoutons l’autorisation de lecture sur les fichiers “.page” pour la catégorie d’autres utilisateurs. Nous devons également définir les autorisations d’utilisateur et de groupe, nous devons donc les définir sur ce qu’ils sont déjà. Ces utilisateurs ont déjà lu et rédigé des autorisations, qui sont de 6 (110). Nous voulons que les «autres» aient lu et autorisés, ils doivent donc être définis sur 4 (100).

La commande suivante accomplira ceci:

chmod 664 *.page
Chmod 664 *. Page dans une fenêtre de terminal

Cela définit les autorisations dont nous avons besoin pour l’utilisateur, les membres du groupe et les autres à ce dont nous avons besoin. Les utilisateurs et les membres du groupe font réinitialiser leurs autorisations à ce qu’ils étaient déjà, et les autres ont une autorisation de lecture restaurée.

ls -l
ls -l dans une fenêtre de terminal

Options avancées

Si vous lisez la page de l’homme pour chmod Vous verrez qu’il existe des options avancées liées aux bits setuid et setgid, et à la suppression restreinte ou au bit “collant”.

Pour 99% des cas dont vous aurez besoin chmod Car, les options décrites ici vous seront couvertes.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button