web-dev-qa-db-fra.com

Commande Bash Sudo introuvable

J'ai mis en place un VM utilisant clé en main linux redmine et j'essaie de SSH dans le serveur pour installer quelques éléments supplémentaires.

Il ne semble pas reconnaître la commande Sudo. Chaque fois que j'essaie de faire quelque chose avec Sudo, je reçois une erreur disant:

 -bash: Sudo: command not found

J'ai lu ailleurs pour taper 'whereis Sudo' et la sortie était:

 Sudo:
38
Adam

Il semble http://www.turnkeylinux.org/redmine que Redmine, contrairement à Ubuntu, n'utilise pas Sudo par défaut. Dans quel nom d'utilisateur utilisez-vous pour SSH? Si c'est root, vous n'avez pas besoin d'utiliser Sudo, car tout ce que vous faites lorsque SSHed dans le système Redmine se fait comme root. Si c'est autre chose, comme admin, vous pouvez essayer d'utiliser la commande su pour obtenir un shell root dans lequel exécuter des commandes comme root.

22
Eliah Kagan

Peut-être qu'il n'est pas installé? Ouvrez votre gestionnaire de packages et installez le package Sudo.

42
Timo

Connectez-vous d'abord à votre compte root. alors

$ apt-get install Sudo

Ajoutez votre utilisateur existant au groupe Sudo

$ Sudo adduser <user> Sudo

Vous devez ensuite vous connecter en tant que <user>, et la commande Sudo devrait être là.

7
Gayan Weerakutti

essayez d'utiliser le chemin complet

/usr/bin/Sudo

si cette commande fonctionne, incluez/usr/bin/dans votre variable env PATH dans ~/.bashrc

echo "export PATH="$PATH:/usr/bin"" >> ~/.bashrc

je l'espère, fonctionne ..

5
Imam Omar

L'erreur se produit car le binaire que vous essayez d'appeler à partir de la ligne de commande n'est qu'une partie de la variable PATH de l'utilisateur actuel, mais pas une partie du PATH de l'utilisateur root.

Vous pouvez le vérifier en localisant le chemin du binaire auquel vous essayez d'accéder. Dans mon cas, j'essayais d'appeler "bettercap-ng". Alors j'ai couru,

$ which bettercap-ng

output: /home/user/work/bin/bettercap

J'ai vérifié si cet emplacement fait partie du CHEMIN de mon utilisateur root.

$ Sudo env | grep ^PATH

production: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin

Donc Sudo ne peut pas trouver le binaire que j'essaie d'appeler depuis la ligne de commande. Retourne donc la commande d'erreur introuvable.

Vous pouvez demander à Sudo d'utiliser le CHEMIN de l'utilisateur actuel lors de l'appel d'un binaire comme ci-dessous.

$ Sudo -E env "PATH=$PATH" [command] [arguments]

En fait, on peut en faire un alias:

$ alias mysudo='Sudo -E env "PATH=$PATH"'

Il est également possible de nommer l'alias lui-même Sudo, en remplacement du Sudo d'origine.

Veuillez vous référer à cette vidéo pour une solution étape par étape

2