web-dev-qa-db-fra.com

Autorisation refusée du superutilisateur

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?

2
lachlan

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.

3
Kaz Wolfe