Corriger l'erreur "zsh : permissions refusées" sur Linux ou macOS.

L'erreur "permission denied" sous Zsh survient lorsque les permissions d'exécution, d'écriture ou de lecture sont manquantes. Découvrez les solutions pour y remédier efficacement.

L'erreur "permission denied" de Zsh se produit lorsque vous essayez d'exécuter une commande sur Linux ou Mac pour laquelle vous n'avez pas les permissions d'exécution. La commande peut être aussi simple que de faire un 'ls' sur un répertoire pour lequel vous n'avez pas les permissions d'écriture ou d'exécuter un script qui effectue des actions que votre utilisateur n'est pas autorisé à réaliser. Par permissions, nous entendons les permissions de lecture ou d'écriture.

Examinons la cause principale de cette erreur, puis nous essaierons chaque solution pour voir laquelle fonctionne le mieux.

Cette erreur survient principalement lorsque vous n'avez pas les permissions d'exécution, d'écriture ou de lecture sur le fichier.

Supposons que nous sommes dans un shell Zsh sur un système d'exploitation Linux et que vous essayez de lister le contenu d'un fichier en utilisant 'cat', mais que vous recevez une erreur 'permission denied'.

Pour corriger cette erreur, nous devons d'abord lister les permissions du fichier. Nous exécutons “ls -l” pour voir les permissions.

Comme vous pouvez le constater, les permissions sont telles que seul l'utilisateur root et le groupe root peuvent lire le fichier, tandis que l'utilisateur root peut uniquement écrire dans le fichier.

Utiliser sudo

Pour corriger cela, la solution la plus simple serait d'utiliser 'sudo' avec la commande que nous voulons exécuter. Cela exécutera la commande en tant qu'utilisateur root. Dans votre cas également, vous pouvez utiliser 'sudo' lorsque vous êtes sûr que la commande que vous souhaitez exécuter ou la tâche que vous souhaitez réaliser ne nuira pas à votre ordinateur.

Nous pouvons donc exécuter :

sudo cat fichier

Changer les permissions du fichier ou des fichiers

Ensuite, nous pouvons changer les permissions du fichier. Étant donné que l'erreur "permission denied" est généralement causée par des permissions de lecture ou d'écriture, nous pouvons modifier les permissions de ce fichier particulier ou des fichiers.

En exécutant 'ls -l' dans le répertoire où le fichier est situé, nous pouvons voir que le propriétaire et le groupe du fichier sont root.

Nous pouvons changer le propriétaire pour notre utilisateur et ensuite faire ce que nous voulons avec le fichier.

Nous pouvons exécuter :

sudo chown [utilisateur] [nom-du-fichier]

Dans notre exemple, comme v3n0m est l'utilisateur avec lequel nous sommes connectés, nous allons émettre la commande :

sudo chown v3n0m fichier

v3n0m ici est notre utilisateur. Dans votre cas, cela serait votre nom d'utilisateur.

Nous pouvons maintenant exécuter cat sur le fichier car il ne nous donnera plus d'erreur permission denied.

Activer les permissions d'exécution

Vous pouvez utiliser ./ avec un nom de fichier dans zsh ou d'autres shells pour exécuter un fichier comme un programme. Mais si les permissions d'exécution ne sont pas définies sur un fichier, cela vous donnera l'erreur zsh : permission denied.

Disons que nous voulons exécuter un script appelé script1. Nous tapons ./script1 dans notre terminal et cela nous donne cette erreur :

Nous faisons un ls -la sur le fichier pour voir les permissions. Comme vous pouvez le constater, les permissions d'exécution ne sont pas définies sur le fichier.

La solution ici est simple, ajoutez les permissions d'exécution sur le fichier.
Nous émettons une commande simple :

chmod +x script1

chmod +x ajoutera le bit d'exécution sur les permissions du fichier pour le propriétaire, le groupe ainsi que les autres.

Maintenant, nous pouvons exécuter le fichier comme programme en tapant ./script1 sans aucune erreur.

Cela devrait corriger l'erreur si vous la rencontrez sur Linux, cependant, si vous rencontrez cette erreur sur MacOS ou Gradle, continuez à suivre l'article.

Modifier votre fichier zshrc (macOS)

Certaines utilisateurs ont signalé sur leur MacOS utilisant zsh qu'ils ne sont pas dans le répertoire à partir duquel ils veulent exécuter une commande.

Si vous rencontrez un problème similaire, la solution est vraiment simple.

Vous devez modifier votre fichier .zshrc dans votre répertoire home/nom_utilisateur et ajouter cela à la fin du fichier.

setopt auto_cd

Cela activera l'option auto_cd dans zsh.

Pour modifier le fichier .zshrc, vous pouvez utiliser n'importe quel éditeur de texte graphique ou un éditeur de texte en ligne de commande comme vim ou vi.

Utiliser la commande CHMOD pour définir les permissions (Gradle)

L'erreur "permission denied" de Zsh peut survenir si vous travaillez sur Gradle et que le fichier gradlew n'a pas les bonnes permissions.

Pour corriger ce type d'erreur, vous devez définir les permissions correctes sur gradlew.

Vous pouvez taper cette commande dans votre terminal :

chmod 755 gradlew

Cela rendra le fichier gradlew exécutable.

Cette erreur sera corrigée.

Ou vous pouvez simplement taper cette commande chmod +x gradlew.

Cela rendra également le fichier gradlew exécutable.

Si aucune de ces solutions ne fonctionne pour vous, n'hésitez pas à commenter ci-dessous et notre technicien se fera un plaisir de vous aider rapidement.

Maintenant que tu as fini de lire Corriger l'erreur "zsh : permissions refusées" sur Linux ou macOS., nous t'invitons à explorer davantage la catégorie Mac. Tu y trouveras d'autres articles intéressants qui élargiront tes connaissances et te tiendront informé. Ne cesse pas de lire et de découvrir plus!

Index
  1. Utiliser sudo
  2. Changer les permissions du fichier ou des fichiers
  3. Activer les permissions d'exécution
  4. Modifier votre fichier zshrc (macOS)
  5. Utiliser la commande CHMOD pour définir les permissions (Gradle)

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Go up