Accueil
» MAC OS X
»
Comment résoudre l'erreur « Impossible d'exécuter le fichier car vous ne disposez pas des privilèges d'accès appropriés » sur macOS
Comment résoudre l'erreur « Impossible d'exécuter le fichier car vous ne disposez pas des privilèges d'accès appropriés » sur macOS
Si un .commandscript de confiance génère l'erreur « Impossible d'exécuter le fichier car vous ne disposez pas des privilèges d'accès appropriés », il a généralement besoin de l'autorisation d'exécution. Dans le Terminal, ajoutez cette autorisation à votre compte chmod u+x, puis exécutez à nouveau le script. Cette opération modifie les permissions du fichier ; elle ne vérifie pas le script et ne contourne pas les contrôles de sécurité de macOS. Il est donc important d'inspecter le fichier et de vérifier sa source avant de l'exécuter.
Avant de modifier les autorisations, vérifiez le fichier
Vérifiez que le fichier se termine bien par `.ts` .commandet que vous connaissez sa provenance. Un script de commandes peut exécuter des commandes Terminal avec les droits d'accès de votre compte. Si vous ne vous attendiez pas à recevoir ce fichier ou si vous ne pouvez pas vérifier sa source, ne l'exécutez pas. Ouvrez-le dans un éditeur de texte pour en examiner le contenu ou demandez une copie propre au développeur.
La fenêtre « Lire les informations » du Finder est utile pour vérifier le nom d'un fichier et les autorisations de partage générales, mais elle ne propose pas de méthode simple pour rendre chmodun script exécutable via le shell. Apple décrit la méthode via le Terminal dans son Guide de l'utilisateur du Terminal .
Exemple d'affichage d'un script .command dans le dossier Téléchargements.
Corrigez l'autorisation d'exécution
Ouvrez le Terminal. Utilisez Spotlight ou ouvrez Applications > Utilitaires > Terminal.
Accordez l'autorisation d'exécution à votre compte. Pour un script nommé dans le dossier Téléchargements script.command, saisissez cette commande et appuyez sur Entrée :
chmod u+x "$HOME/Downloads/script.command"
Remplacez l'emplacement et le nom de fichier d'exemple par le chemin d'accès réel. Placez le chemin entre guillemets, surtout si le nom du dossier ou du fichier contient des espaces. Vous pouvez également saisir le chemin chmod u+x (en incluant l'espace final) et faire glisser le fichier depuis le Finder vers la fenêtre du Terminal pour l'insérer. Ne saisissez pas « chemin d'accès au fichier » littéralement.
La commande chmod u+x ajoute la permission d'exécution au propriétaire du fichier.
La commande renvoie normalement à l'invite de commande sans afficher de message de réussite. L'autorisation d'exécuter le fichier uest accordée au propriétaire du fichier +x. Cette autorisation est plus restrictive que de rendre le script exécutable pour tous les comptes du Mac. Elle ne devrait pas nécessiter de mot de passe administrateur si vous êtes propriétaire du fichier et pouvez modifier ses permissions.
Exécutez le script. S'il se trouve dans le dossier Téléchargements, saisissez :
cd "$HOME/Downloads"
./script.command
Vous pouvez également double-cliquer sur le fichier dans le Finder après avoir modifié ses permissions. L'exécution depuis le Terminal est pratique car elle permet de consulter les messages d'erreur et les résultats. Si macOS affiche un avertissement lors du collage d'une commande dans le Terminal, veuillez le lire avant de poursuivre.
Exemple de session Terminal après exécution du script depuis son dossier.
Vérifiez les autorisations si l'erreur persiste.
Pour consulter les autorisations du fichier, exécutez :
ls -l "$HOME/Downloads/script.command"
Lorsque le compte actuel est propriétaire du fichier et que l'autorisation d'exécution est définie, le premier groupe d'autorisations doit inclure un groupe d'autorisations xtel que « Exécuter-rwx ». Le guide des autorisations d'Apple pour Mac explique comment l'accès aux fichiers et aux dossiers diffère selon les utilisateurs.
Utilisez la commande ls -l pour confirmer que la chaîne de permissions du propriétaire inclut x.
La commande affiche « Fichier ou répertoire introuvable ». Le chemin d’accès ou le nom du fichier est incorrect. Dans le Finder, vérifiez le nom et l’emplacement, puis répétez la commande avec le chemin d’accès correct.
Le message « Opération non autorisée » ou « Accès refusé » s'affiche. Il se peut que vous ne soyez pas propriétaire du fichier ou qu'un dossier parent en bloque l'accès. Déplacez une copie dans un dossier dont vous êtes propriétaire, comme Téléchargements, ou demandez au propriétaire du fichier ou à l'administrateur de votre Mac de corriger l'autorisation. Évitez d'ajouter le fichier sudocomme première étape.
Le fichier possède un bit d'exécution, mais ne s'exécute pas. Vérifiez qu'il s'agit bien d'un script valide et que sa première ligne spécifie un interpréteur disponible. Si le message fait référence à une application qu'Apple ne peut pas vérifier, à un développeur non identifié ou à un logiciel malveillant, il s'agit d'un avertissement Gatekeeper ou d'un avertissement relatif à un logiciel malveillant, et non d'une erreur d'autorisation d'exécution.
Ne fragilisez pas la sécurité de macOS pour corriger une autorisation de fichier.
N'utilisez cette commande chmod a+xque si vous souhaitez intentionnellement accorder à d'autres comptes locaux l'autorisation d'exécution, et évitez les commandes générales telles que `sudo` chmod -Rou la modification des autorisations sur l'ensemble des dossiers système. Pour annuler l'autorisation d'exécution que vous avez ajoutée pour votre compte, exécutez `sudo` chmod u-x "$HOME/Downloads/script.command".