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:
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
.
Peut-être qu'il n'est pas installé? Ouvrez votre gestionnaire de packages et installez le package Sudo.
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à.
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 ..
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