Bash Sudo-kommando blev ikke fundet

Jeg har oprettet en VM ved hjælp af nøglefærdig Linux redmine, og jeg prøver at SSH ind på serveren for at installere nogle flere emner.

Det ser ikke ud til at genkende sudo-kommandoen. Hver gang jeg prøver at sudo noget, får jeg en fejl med at sige:

 -bash: sudo: command not found 

Jeg læste et andet sted for at skrive “whereis sudo” og output var:

 sudo: 

Svar

Det ser ud fra http://www.turnkeylinux.org/redmine ligesom Redmine bruger i modsætning til Ubuntu ikke sudo som standard. Hvilket brugernavn bruger du til SSH i? Hvis det “s root, behøver du ikke bruge sudo, da alt hvad du gør, når SSHed i Redmine-systemet er gjort som root. Hvis det er noget andet som admin, kan du prøve at bruge kommandoen su til at få en root shell, hvor kommandoer køres som root.

Kommentarer

Svar

Måske er det ikke installeret? Åbn din pakkehåndtering, og installer sudo -pakken.

Kommentarer

  • Det var ikke ' t installeret! Tak. Jeg ' er ret ny på Linux og antog bare, at det var på alle installationer. Har jeg bare brug for sudo-pakken eller sudo-ldap også?
  • Du behøver ikke ' behøver ikke sudo-ldap-pakken. Sudo fungerer fint på min computer, og jeg har ikke ' sudo-ldap er ikke installeret.

Svar

Første login til din rodkonto. Derefter

$ apt-get install sudo 

Føj din eksisterende bruger til gruppen sudo

$ sudo adduser <user> sudo 

Du skal derefter logge ind som <user>, og kommandoen sudo skal være der.

Svar

prøv at bruge fuld sti

/usr/bin/sudo 

hvis dette kommando fungerer, skal du medtage / usr / bin / i din env-variabel PATH i ~ / .bashrc

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

forhåbentlig fungerer ..

Kommentarer

  • At ' er meget usandsynligt at være problemet; /usr/bin vil næsten helt sikkert være i din standardsti. Problemet, som angivet af andre svar og kommentarer, er, at kommandoen sudo ikke var ' t overhovedet installeret.

Svar

Fejlen opstår, fordi den binære, du prøver at ringe fra kommandolinjen, kun er en del af den aktuelle brugers PATH variabel, men ikke en del af rodbrugerens PATH.

Du kan bekræfte dette ved at finde stien til den binære, du prøver at få adgang til. I mit tilfælde prøvede jeg at kalde “bettercap-ng”. Så jeg løb,

$ which bettercap-ng

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

I kontrolleret, om denne placering er en del af min rodbruger “PATH.

$ sudo env | grep ^PATH

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

Så sudo kan ikke finde den binære, som jeg prøver at ringe fra kommandolinjen. Returnerer derfor fejlkommandoen ikke fundet.

Du kan lede sudo til at bruge den aktuelle bruger “s PATH når man ringer til en binær som nedenfor.

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

Man kan faktisk lave et alias ud af det:

$ alias mysudo="sudo -E env "PATH=$PATH""

Det er også muligt at navngive aliaset selv sudo og erstatte den originale sudo.

Se til denne video til trinvis løsning

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *