sudo: zsh: command not found

Permalänk
Medlem

sudo: zsh: command not found

Hej,

När jag ska köra sudo -i så får jag följande meddelande:

sudo: zsh: command not found

Att köra sudo som vanligt funkar, men sudo -i vill inte.

Hur kommer det sig? Hur fixar jag det?

obs, kör Ubuntu 14.04.1 LTS

Permalänk
Medlem

Root kör väl zsh istället för bash? Varför måste du köra med -i?

Permalänk
Medlem
Skrivet av Printscreen:

Root kör väl zsh istället för bash? Varför måste du köra med -i?

Jag kör med sudo -i för då behöver man inte skriva sudo mer efter det. Då blir ju allting automtiskt sudo.

Permalänk
Medlem
Skrivet av Asce:

Jag kör med sudo -i för då behöver man inte skriva sudo mer efter det. Då blir ju allting automtiskt sudo.

Testa att köra "sudo su" istället det gör samma sak (eller bibehåller root iallafall).
Kanske är zsh inte vet vad den ska göra med -i...

Permalänk
Medlem
Skrivet av OsNy:

Testa att köra "sudo su" istället det gör samma sak (eller bibehåller root iallafall).
Kanske är zsh inte vet vad den ska göra med -i...

Hm, märkligt det här.

$ sudo su
Cannot execute zsh: No such file or directory

För att vara säker på att jag jag kör bash så körde jag $ chsh -s /bin/bash username

Men det går fortfarande inte.

Permalänk
Medlem

sudo su -

då?

btw:

man sudo:

-i, --login
Run the shell specified by the target user's password database entry as a login shell. This means that login-specific resource files such as .profile or .login will be read by the shell. If a command is specified,
it is passed to the shell for execution via the shell's -c option. If no command is specified, an interactive shell is executed. sudo attempts to change to that user's home directory before running the shell. The
command is run with an environment similar to the one a user would receive at log in. The Command Environment section in the sudoers(5) manual documents how the -i option affects the environment in which a command
is run when the sudoers policy is in use.

Permalänk
Medlem

pröva:

$ chsh -s /bin/bash root

Permalänk
Entusiast

"Cannot execute zsh" ger mig ledtråden om att zsh inte är installerad, eller propert konfigurerad/godkänd som kommandoskal.

Vill ni använda zsh istället fö bash? Se då till att den är installerad, och är listat i filen "/etc/shells". En rad som skall finnas med bör lyda "/bin/zsh"
Om ni hellre vill använda bash. Konfigurera då om root-kontot så att den använder bash istället för zsh.
Det gör ni enklast med följande kommando:

sudo usermod --shell /bin/bash root

(Glöm inte att kolla att /bin/bash finns med i /etc/shells )

Ni kan också helt sonika redigera filen /etc/passwd, och ändra i raden för root. Där står det /bin/zsh i slutet. Byt ut det mot /bin/bash. Se till att spara en kopia på filen innan ni ändrar i den.

Permalänk
Medlem

Låter som din root-användare använder zsh som shell men det inte är installerat.
Kolla med cat /etc/passwd|grep root och se vilket shell som root kör

Saknas shellet så installera det eller byt shell till bash eller något annat.

Permalänk
Medlem
Skrivet av SysGhost:

"Cannot execute zsh" ger mig ledtråden om att zsh inte är installerad, eller propert konfigurerad/godkänd som kommandoskal.

Vill ni använda zsh istället fö bash? Se då till att den är installerad, och är listat i filen "/etc/shells". En rad som skall finnas med bör lyda "/bin/zsh"
Om ni hellre vill använda bash. Konfigurera då om root-kontot så att den använder bash istället för zsh.
Det gör ni enklast med följande kommando:

sudo usermod --shell /bin/bash root

(Glöm inte att kolla att /bin/bash finns med i /etc/shells )

Ni kan också helt sonika redigera filen /etc/passwd, och ändra i raden för root. Där står det /bin/zsh i slutet. Byt ut det mot /bin/bash. Se till att spara en kopia på filen innan ni ändrar i den.

Aha, tack det löste problemet.

Ville ha bash nämligen, så jag körde sudo usermod --shell /bin/bash root som du sa, nu funkar det finemang.

Tackar och bockar!