Je souhaite exécuter un script dans le répertoire racine. Le script est /opt/poky/1.6/xx
Si je me connecte en tant que superutilisateur dans Ubuntu 14.04 en utilisant Sudo -i
et mon propre mot de passe, je peux voir ce fichier en utilisant ls /opt/poky/1.6/
.
Lorsque j'essaie d'exécuter ce fichier en mode utilisateur avec Sudo /opt/poky/1.6/xx
, il me demande un mot de passe Sudo. J'utilise mon mot de passe machine normal et le message 'commande non trouvée' s'affiche
Lorsque je retourne en mode superutilisateur à l'aide de Sudo -i
et que je lance le fichier sous le nom /opt/poky/1.6/xx
, le message 'Autorisation refusée' s'affiche.
Si je change de répertoire en mode superutilisateur à l'aide de cd /opt/poky/1.6/
, puis affiche le fichier à l'aide de vi xx
, je n'ai aucun problème à visualiser le fichier.
Comment puis-je résoudre le problème de "permission refusée" ou de "commande introuvable" en mode superutilisateur?
L'erreur "Autorisation refusée" signifie souvent que vous ne disposez pas de l'autorisation d'exécution sur le fichier. Pour résoudre ce problème, exécutez chmod +x <filename>
en tant qu'utilisateur root. Maintenant, l'utilisateur root peut exécuter le fichier en utilisant ./<filename>
.
Command Not Found
peut signifier beaucoup de choses différentes. Tout d’abord, vous devez disposer du ./
ou d’un chemin absolu pour l’exécution de fichiers ne figurant pas dans la variable $PATH
. (c'est-à-dire ../test.sh
ou /home/user/bin/test.sh
).
Cependant, Command Not Found
peut également signifier qu'une bibliothèque est manquante. Vérifiez que vous disposez de toutes les dépendances requises pour exécuter ce fichier.