Résoudre les erreurs d'autorisation d'accès au dossier

Si vous utilisez un sous-système Linux sous Windows, Cygwin ou toute autre méthode combinant Unix et Windows, vous pourriez rencontrer l'erreur « Vous n'avez actuellement pas l'autorisation d'accéder à ce dossier. » Dans un environnement Linux ou Unix pur, vous pourriez obtenir une erreur du type « Erreur d'ouverture du répertoire : Permission refusée. » Le même problème peut survenir sur les lecteurs réseau dotés d'un système de fichiers compatible POSIX, quel que soit le système d'exploitation utilisé pour accéder aux données.

Vous n'avez actuellement pas l'autorisation d'accéder à ce dossier.

La cause de ce problème est la même dans tous les cas. Vous avez configuré un répertoire pour restreindre l'accès, et vous tentez d'y accéder depuis un compte ne disposant pas des autorisations requises. Pour résoudre ce problème, il suffit de se connecter avec un autre compte ou de modifier les autorisations du dossier.

Méthode 1 : Modifier les comptes pour accéder aux répertoires

Essayez d'accéder au dossier dans lequel vous tentiez d'entrer. Si vous essayez d'y accéder à l'aide de la commande `cd` depuis l'invite de commandes, vous obtiendrez un message d'erreur du type : `bash : cd : Permission refusée`.

Erreur d'autorisation de l'invite de commandesVous recevrez une erreur similaire si vous tentez d'accéder au répertoire depuis un environnement graphique.

Erreur d'autorisation du guide graphique

Dans ce cas précis, nous tentions d'accéder au répertoire `/lost+found`, dont l'accès est réservé à l'utilisateur root dans la plupart des distributions Linux. De retour dans le terminal, saisissez `sudo -i` et appuyez sur Entrée. Le système vous demandera votre mot de passe, mais vous obtiendrez alors l'invite de commande root. Vous pouvez vous déplacer dans le répertoire à l'aide de `cd` et l'explorer, mais sachez que vous opérez depuis l'invite de commande root et que vos actions peuvent donc être potentiellement destructrices.

Si vous préférez rester connecté à votre compte habituel, essayez la commande `sudo ls /lost+found` pour afficher le contenu de ce répertoire sans avoir à exécuter `sudo -i`. Vous pouvez remplacer `/lost+found` par le nom de n'importe quel répertoire, y compris le répertoire racine (`/root`). N'oubliez pas que l'utilisation de `sudo` avant les commandes vous autorise toujours à supprimer presque n'importe quel fichier.

Méthode 2 : Modifier les autorisations par défaut d’un dossier

La première méthode est très simple et fonctionne avec n'importe quel dossier que vous souhaitez consulter pour la maintenance du système ou à des fins similaires. Toutefois, si vous souhaitez autoriser les utilisateurs à accéder à un dossier même s'ils se trouvent sur un serveur ou un réseau, vous pouvez envisager d'autres options.

Exécutez la commande `sudo chmod -R 755 /chemin/vers/dossier`, en remplaçant `chemin` par le chemin réel du répertoire que vous souhaitez rendre accessible. Une fois l'opération terminée, essayez d'y accéder depuis un compte utilisateur standard. Cette méthode est légèrement plus complexe que la précédente, mais elle est plus sûre et permanente car elle ne nécessite pas de compte administrateur après la première tentative.

Dans la plupart des cas, vous pouvez créer des répertoires avec ces permissions. Essayez `mkdir -m 755` pour définir les permissions permettant la lecture, l'écriture et l'exécution pour un utilisateur, et la lecture et l'exécution pour les autres. Vous pouvez également utiliser `777`, ce qui donne à toute personne se connectant au répertoire la possibilité d'effectuer toutes les actions souhaitées. Bien que cela puisse être utile dans certaines situations, comme le transfert manuel de fichiers entre deux machines via un support amovible, il est déconseillé de procéder ainsi sur un système de fichiers local. L'option `-p` attribue au nouveau répertoire les permissions par défaut, ce qui est généralement le cas sans option supplémentaire.

Vous pouvez également vous assurer que les fichiers disposent des permissions appropriées lors de leur copie. Utilisez `rsync --perms --chmod Fu+w` si vous souhaitez accorder l'autorisation d'écriture au propriétaire du fichier. Vous pouvez aussi spécifier d'autres groupes. Avec `rsync`, utilisez l'option `--chown=`, suivie d'un nom d'utilisateur, de deux points et du groupe, afin que les fichiers copiés héritent également des permissions correctes.

Comme `rsync` est très utile pour copier des structures de fichiers conformes à POSIX entre Windows et Linux, vous pouvez expérimenter avec différentes valeurs de `chmod` lors de son utilisation. Vous pourriez également être intéressé par `install`. Exécutez `install -m 777` suivi du chemin source et du chemin de destination d'un fichier pour accorder immédiatement à tous les utilisateurs un accès en lecture et en écriture. Pour plus de sécurité, vous pouvez utiliser `755` ou toute autre combinaison.

Ce n'est certes pas aussi rapide que `rsync`, mais cela peut fonctionner dans les cas où vous souhaitez spécifier précisément les autorisations pour corriger des erreurs telles que « Vous n'avez pas l'autorisation d'accéder à ce dossier pour le moment. »

Les commentaires sont fermés.