GNU/Linux >> Tutoriels Linux >  >> Linux

Tout ce que vous devez savoir sur la commande Linux Chmod

Si vous connaissez le système de fichiers Linux, vous savez que tous les fichiers système sont stockés dans le répertoire racine (/). Linux réserve certaines autorisations de système de fichiers spécifiques uniquement à l'utilisateur root. La principale différence entre le système de fichiers du système d'exploitation basé sur Linux et les autres systèmes d'exploitation est que Linux réserve une autorisation spécifique au système de fichiers. Si vous n'êtes pas un utilisateur root, vous ne pouvez pas supprimer, déplacer ou modifier les fichiers root de votre système. Par exemple, si vous avez un serveur localhost en cours d'exécution sur votre système Linux, vous ne pouvez pas déplacer les fichiers de configuration du serveur sans l'autorisation root. Même vous ne pouvez pas modifier les paramètres de configuration sans l'autorisation root. Pour changer l'état du système de fichiers, vous devez connaître les commandes chmod. La commande chmod vous permet de lire, d'écrire et d'exécuter des fichiers sur un système Linux.

Commande Chmod sous Linux

Linux n'est pas seulement utilisé pour la fiabilité et la sécurité; il est également utilisé à des fins multifonctionnelles. Vous pouvez exécuter des serveurs, des activités multi-utilisateurs, etc. Le problème survient lorsque vous affectez un utilisateur à votre système mais ne donnez pas l'accès root. Parfois, cet utilisateur peut avoir besoin d'effectuer un travail de superutilisateur pour configurer et rendre l'environnement fonctionnel.

Vient ensuite la notion de la commande chmod pour Linux. Comme je l'ai dit plus tôt, Linux n'est pas seulement utilisé pour le travail multitâche ou multifonctionnel; il est également utilisé pour le multi-utilisateur. La commande chmod peut modifier les tâches de lecture, d'écriture et d'exécution avec juste un mot de passe root sur un système Linux.

Dans l'intégralité de l'article, nous discuterons des différences entre chmod 777, chmod 755 ou chmod 600, et d'autres commandes chmod sur le système Linux.

Si vous êtes un utilisateur passionné de Linux, vous pouvez suivre ce lien pour obtenir des formations plus détaillées sur la commande chmod sous Linux. Dans le lien suivant, vous trouverez un tableau comme indiqué dans l'image ci-dessous. Vous devez mettre la valeur de l'autorisation spécifique. Le tableau vous montrera automatiquement quels types d'autorisations sont définis par les commandes spécifiques.

Connaître l'état actuel des autorisations d'un fichier/répertoire sous Linux

Maintenant, il existe des méthodes pour vérifier les détails d'autorisation d'un fichier ou d'un répertoire sous Linux. Vous pouvez utiliser la méthode GUI ou la méthode CLI pour vérifier l'état d'autorisation d'un fichier. Ici, nous allons apprendre les deux méthodes pour connaître le statut d'autorisation actuel d'un fichier sur notre système.

Méthode 1 :Utilisez la méthode GUI pour vérifier l'état de l'autorisation

L'utilisation de la méthode de l'interface utilisateur graphique est la méthode la plus simple pour vérifier tous les détails d'un fichier sous Linux. Il vous suffit de sélectionner le fichier et de cliquer avec le bouton droit sur le fichier. Dans le menu déroulant, vous trouverez l'option Propriétés. Sélectionnez l'option Propriétés qui ouvrira une nouvelle boîte de dialogue.

- -

Dans la boîte de dialogue, cliquez sur le menu Autorisation. Vous y trouverez les informations détaillées sur l'état des autorisations dans le fichier. Vous pouvez voir les informations sur le propriétaire, les enregistrements d'accès, les informations sur le groupe et le contenu de sécurité de ce fichier.

Méthode 2 :méthode CLI pour connaître l'état d'autorisation d'un fichier

Les utilisateurs expérimentés de Linux veulent toujours utiliser la méthode CLI pour effectuer n'importe quelle tâche. Eh bien, ça y est, vous pouvez vérifier l'état de lecture, d'écriture et d'exécution de n'importe quel fichier ou répertoire à partir de votre shell de terminal Linux. Dans cette méthode, nous utiliserons les commandes de liste longue (ls -l) pour obtenir le statut d'autorisation.

Vous pouvez avoir une idée en regardant les lignes de commande de terminal suivantes données ci-dessous pour obtenir le statut d'autorisation de n'importe quel fichier à l'aide de l'interface de ligne de commande du terminal.

cd Documents
ls
ls -l sampledata.zip

Ici, vous pouvez voir que le résultat de sortie commence par un tiret (-), ce qui signifie que l'échantillon est un fichier, pas un répertoire. Le symbole du répertoire commence par d. Ensuite, le rw signifie l'autorisation de lecture et d'écriture de ce fichier.

Pour exécuter une démonstration, vous pouvez exécuter les lignes de commande suivantes indiquées ci-dessous pour créer un nouveau fichier et voir les autorisations de ce fichier.

touch newfile.txt
chmod g+w newfile.txt
ls -og newfile.txt

Dans l'image ci-dessus, vous pouvez voir que l'autorisation est écrite sous la forme -rw-rw-r-- 1; ici le rw signifie que le fichier dispose à la fois des droits de lecture et d'écriture. Et le signe numérique 1 signifie que l'utilisateur a la permission d'exécuter le fichier. Les syntaxes d'autorisation numérique de base sont expliquées ci-dessous.

  • 0 =L'utilisateur est autorisé à lire, écrire et exécuter le fichier.
  • 1 =L'utilisateur actuel est autorisé à exécuter le fichier.
  • 2 = Autoriser l'utilisateur à écrire le fichier.
  • 3 =L'utilisateur a l'autorisation d'écrire et d'exécuter le fichier.
  • 4 =L'utilisateur dispose de l'autorisation en lecture seule.

Comprendre les syntaxes et la commande chmod sous Linux

La commande chmod a quelques syntaxes que vous devez connaître pour comprendre la sortie de la commande. Ici, je demande des explications sur les syntaxes très basiques de la commande Chmod sous Linux. Au cours de cette étape, nous apprendrons également quelques commandes chmod principales que vous devrez peut-être utiliser quotidiennement.

  • u Le u la syntaxe mentionne l'utilisateur propriétaire du fichier ou du répertoire.
  • g Le g la syntaxe mentionne le groupe auquel appartient le fichier.
  • o Le o la syntaxe mentionne que le fichier appartient à tous les utilisateurs.
  • a Le un la syntaxe mentionne que le fichier appartient à tous les utilisateurs et groupes.
  • r Le r syntaxe indique que le fichier a une autorisation en lecture seule.
  • w Le w la syntaxe mentionne qu'il a la permission d'écrire le fichier.
  • x Le x la syntaxe mentionne que l'utilisateur actuel a le droit d'exécuter le fichier.
  • Le la syntaxe mentionne que l'utilisateur a la permission de déposer le fichier.

1. chmod -R 755 :Modifier l'autorité sur un répertoire entier

Le chmod 755 est souvent utilisé comme -R 755 dans le shell Linux pour modifier l'autorisation du système de fichiers. Vous pouvez exécuter les commandes chmod 775 sur votre shell de terminal Linux si vous ne pouvez pas écrire ou supprimer des fichiers de n'importe quel répertoire. La commande chmod -R 775 a le pouvoir de modifier l'autorisation pour un répertoire entier au lieu d'un seul fichier.

chmod -R 755 directory
sudo chmod -R 755 /var/www/html/

Dans l'image ci-dessous, vous pouvez voir que la sortie de la liste de journaux (ls -l) a déjà modifié les autorisations de lecture, d'écriture et d'exécution pour le répertoire.

2. chmod 777 :Autoriser les autorisations pour tous les utilisateurs

Nous verrons ici l'utilisation des commandes chmod 777 sur le système Linux. Fondamentalement, toutes les commandes chmod sont associées au système de fichiers Linux. Pour mieux comprendre les commandes chmod, je vous recommanderai également de connaître la hiérarchie du système de fichiers Linux.

Cependant, les commandes chmod 777 sont utilisées sous Linux pour écrire et exécuter le fichier. Les commandes de terminal suivantes peuvent vous aider à avoir une idée de base du fonctionnement de la commande chmod 777 sous Linux.

chmod 777 filename
sudo chmod 777 /var/www/
sudo chmod -R 777 /var/www/

Dans l'image ci-dessus, vous pouvez voir que la sortie commence par le dr syntaxe, et il a le wxr syntaxes avec lui, ce qui signifie que le chemin cible est un répertoire et qu'il dispose des autorisations d'écriture, d'exécution et de lecture. À la fin de la sortie, la valeur numérique 3 indique que le courant a la permission d'écrire et d'exécuter le répertoire.

3. chmod +x :Autorisation d'exécution Fichier/Répertoire

Voici la commande chmod la plus risquée pour Linux. Si vous êtes un débutant sur le système Linux, je ne recommanderais pas d'utiliser la commande chmod +x sur votre système. Fondamentalement, la commande chmod+x est utilisée pour exécuter le fichier ou pour tuer le processus. Avec le pouvoir du superutilisateur, vous pouvez exécuter la commande chmod+x pour détruire tout votre système.

Voici quelques commandes chmod+x pour les systèmes Linux que vous pouvez suivre pour une meilleure compréhension. Dans la valeur de sortie, le signe numérique 1 symbolise que l'utilisateur actuel a l'autorisation d'exécuter le fichier.

sudo chmod +x /path/to/file
sudo chmod a+rx /usr/local/bin/composer

4. chmod 755 :Autoriser l'utilisateur racine à lire et écrire des fichiers sous Linux

Auparavant, nous avons vu l'utilisation de la commande chmod -R 755 pour les systèmes Linux; mais maintenant nous allons voir les utilisations de chmod 755 sur un système Linux. La principale différence entre le chmod -R 755 et le chmod 755 est que le -R 775 permet à tous les utilisateurs de modifier l'intégralité du répertoire, là où la commande 775 permet uniquement à l'utilisateur root de lire et d'écrire dans le système de fichiers.

Vous pouvez suivre les méthodes suivantes pour exécuter les commandes chmod 755 sur votre shell de terminal Linux.

chmod 755 /path/to/file
chmod 755 /usr/local/bin/certbot-auto
chmod 755 /home/UbuntuPIT/New_TES/code/SG_V1.0/Voice-data.pl

5. chmod 700 :Autoriser les autorisations de lecture, d'écriture et d'exécution pour le propriétaire

Si vous êtes le propriétaire de votre système Linux et que vous ne pouvez toujours pas écrire ou exécuter un fichier spécifique à partir de votre système de fichiers, cela peut être dû au fait que vous n'avez pas la bonne autorisation pour le système. Pourquoi aurais-je besoin d'obtenir la permission d'exécuter des fichiers à partir de mon propre PC alors que je suis l'utilisateur root ?

Eh bien, vous savez peut-être déjà que le système de fichiers Linux ne fonctionne pas comme Windows ou d'autres systèmes d'exploitation. Linux veut s'assurer que vous savez ce que vous faites. C'est pourquoi, bien que vous en soyez le propriétaire, vous devrez peut-être obtenir l'autorisation chmod 700 pour exécuter un fichier spécifique à partir de votre système Linux.

Vous pouvez voir les commandes de terminal suivantes ci-dessous pour comprendre comment la commande chmod 700 fonctionne sous Linux.

chmod 700 /path/to/file
sudo chmod 700 /etc/ssl/private

Dans l'image ci-dessus, vous pouvez voir que le chmod est exécuté en tant qu'utilisateur root, et vous ne pouvez pas voir le résultat de la sortie longue liste (ls-l) sans le privilège root.

6. chmod 666 :Désactiver l'exécution pour tous les utilisateurs sous Linux

En tant qu'administrateur système Linux, j'ai personnellement trouvé les commandes chmod 666 très intéressantes. Cette commande est très utile pour ceux qui doivent travailler à distance d'un système à un autre. Parfois, les clients obtiennent des incompatibilités avec le système de fichiers. Vous pouvez ajouter la règle chmod 666 pour tous les répertoires afin que les utilisateurs naïfs ne puissent pas correspondre au système de fichiers.

Revenons au point ; sous Linux, le chmod 666 désactive l'autorisation d'exécution des fichiers ou des répertoires pour tous les utilisateurs. Les commandes chmod 666 permettent uniquement aux utilisateurs de lire et d'écrire des fichiers. Vous pouvez voir les lignes de commande du terminal ci-dessous pour avoir une meilleure idée du fonctionnement des commandes chmod 666 sur un système Linux.

sudo chmod -c 666 /path/to/file

7. chmod 644 :Autorisation d'accès en lecture seule pour tous les utilisateurs

Si vous êtes un administrateur système ou le propriétaire d'un serveur FTP local, cette commande vous aidera. Vous pouvez définir des règles pour que l'utilisateur ou les visiteurs ne voient et ne téléchargent que le fichier. De cette façon, vos fichiers seront conservés en toute sécurité et vous pourrez les partager entre de nombreux utilisateurs.

Sous Linux, la commande chmod 644 fonctionne à la fois pour les fichiers et les répertoires. Vous pouvez définir les commandes chmod 644 dans n'importe quel système de fichiers, serveur ou serveur de lecteur multimédia Linux comme Plex ou Emby. Voici un exemple d'exécution des commandes chmod 644 sur un système Linux.

sudo chmod 644 /path/to/file

8. chmod 600 :Autoriser la lecture-écriture, mais pas d'exécution

Supposons que vous travailliez pour une entreprise multinationale pour travailler sur un serveur de réseau local afin de partager des documents ou des fichiers avec vos collègues. Dans ce cas, vous ne voudrez peut-être pas leur donner la permission de supprimer des fichiers de votre répertoire personnel.

Pour résoudre ce problème, les utilisateurs de Linux peuvent utiliser les commandes chmod 600. La commande chmod 600 permet aux utilisateurs ou aux clients de lire et d'écrire le fichier et les répertoires. Mais cela ne leur permet pas de supprimer ou d'exécuter les répertoires. Personne d'autre que vous ne peut exécuter des fichiers depuis votre système dans un système protégé par chmod 600.

sudo chmod 600 /path/to/file/

Conseils supplémentaires – 1 :Utiliser la commande Chmod pour installer des packages sur Linux

Jusqu'à présent, nous avons vu très peu de commandes chmod de base pour les distributions Linux pour accéder ou refuser des autorisations au système de fichiers. Mais saviez-vous qu'il existe également une utilisation de la commande chmod sur le système Linux ? Oui, le plus souvent, vous devrez peut-être exécuter les commandes chmod pour installer un package sur votre système Linux.

Après avoir téléchargé le fichier de package binaire d'une application, vous l'installez directement sur votre système Linux par les commandes chmod. Voici un exemple de l'apparence des commandes chmod lors de l'installation de packages via la commande chmod sur votre système Linux.

$ chmod +x install.sh
$ sudo ./install.sh

Conseils supplémentaires – 2 :Utilisez la commande Chmod pour gérer les erreurs de débutant sous Linux

Comme la commande chmod est très puissante sous Linux, vous devez manipuler cette commande avec beaucoup de précaution. Juste parce que vous avez les privilèges root, vous ne pouvez pas exécuter le chmod de toute façon dans n'importe quel répertoire. Exécuter la commande chmod sans comprendre peut vous coûter cher. Nous allons maintenant voir quelques problèmes qui pourraient survenir si vous exécutez les commandes chmod avec négligence sur votre système Linux.

Cas 1 : Exécutez par coïncidence la commande chmod 655 et ne pouvez pas effectuer de travaux de superutilisateur

Si vous exécutez le chmod 655 dans votre répertoire racine (/), il est possible que vous n'ayez plus d'accès root sur votre système de fichiers Linux. Si vous avez déjà fait cette erreur, il n'y a pas de soucis; il existe une méthode pour récupérer l'autorisation root de votre système.

Vous devez obtenir un disque USB en direct ou un CD du système d'exploitation Linux, puis l'insérer et passer en mode session en direct. Exécutez ensuite la commande chmod suivante sur votre shell de terminal pour récupérer vos privilèges root.

sudo chmod /path/to/root/ 755

Cas 2 :Ajouter une autorisation après avoir supprimé l'autorisation

De temps en temps, il peut y avoir une erreur de refuser l'autorisation à un répertoire au lieu d'un autre répertoire. Dans ce cas, vous risquez de perdre temporairement l'accès au répertoire. Pour résoudre des problèmes comme celui-ci, vous devez d'abord réparer le répertoire que vous avez accidentellement exécuté. Vous pouvez obéir à la ligne de commande ci-dessous pour comprendre comment la commande chmod fonctionne sous Linux.

sudo chmod a-x /directory_that_you_accidentally_dropped

Maintenant, exécutez la commande chmod suivante sur votre terminal Linux pour corriger le répertoire.

sudo chmod a+X /directory_that_you_accidentally_dropped

Cas 3 :Autorisation refusée de se connecter à un serveur Linux

Si vous êtes un administrateur de serveur Linux et que vous exécutez les commandes chmod 444 sur le chemin de votre administrateur de serveur, il est possible que vous ne puissiez plus accéder à votre serveur. Dans ce cas, vous devez exécuter les commandes chmod 555 suivantes dans le shell du terminal pour résoudre le problème.

sudo chmod 555 <directory_path>

Voici une autre astuce, si vous exécutez les commandes chmod 000 dans n'importe quel répertoire, seul l'utilisateur root peut lire et écrire dans ce répertoire.

Derniers mots

Sous Linux, les commandes chmod sont très utiles lorsque vous êtes bloqué avec l'autorisation du système de fichiers. En tant qu'administrateur système Linux, vous devez connaître toutes les commandes chmod principales sous Linux. Dans tout l'article, j'ai décrit la commande Linux chmod la plus utilisée. J'ai également montré comment sauver votre système des erreurs de débutant de la commande chmod. Si vous avez besoin de plus d'aide avec la commande chmod, vous pouvez toujours ouvrir votre terminal Linux et chmod --help .

Si vous aimez cet article et que vous le trouvez utile, partagez-le avec vos amis et la communauté Linux. Vous pouvez également mentionner si j'ai manqué des commandes chmod essentielles. Nous vous encourageons également à écrire vos opinions concernant ce message dans la section des commentaires.


Linux
  1. Commande Chmod sous Linux (autorisations de fichiers)

  2. Tout ce que vous devez savoir sur Ubuntu 13.04

  3. Compression de fichiers Linux :tout ce que vous devez savoir

  4. Autorisations de fichiers Linux :tout ce que vous devez savoir

  5. 10 commandes Linux de base que vous devez connaître

Tout ce que vous devez savoir sur Black Lab Linux

Tout ce que vous devez savoir sur la distribution Linux Mint

Tout ce que vous devez savoir sur les inodes sous Linux

Tout ce que vous devez savoir sur le lien physique sous Linux

Tout ce que vous devez savoir sur l'UID sous Linux

Tout ce que vous devez savoir sur le répertoire Linux /tmp