LINUX.ORG.RU

su - change $SHELL

 , , , ,


1

2

Доброго времени. Сделал глупость - под рутом сменил шелл и, судя по всему, где-то очепятался (как вариант). Пытался, собственно, поменять шелл через

chsh -s `which zsh`
Теперь при любой попытке su под рута выдает:
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
           [-D [bind_address:]port] [-E log_file] [-e escape_char]
           [-F configfile] [-I pkcs11] [-i identity_file]
           [-L [bind_address:]port:host:hostport] [-l login_name] [-m mac_spec]
           [-O ctl_cmd] [-o option] [-p port]
           [-Q cipher | cipher-auth | mac | kex | key]
           [-R [bind_address:]port:host:hostport] [-S ctl_path] [-W host:port]
           [-w local_tun[:remote_tun]] [user@]hostname [command]

Самому смешно, судя по всему, вместо zsh по привычке вбил ssh. Вопрос не менее глупый - можно ли пофиксить без ребута системы?

P.S.: Да, я пробовал

su -s /bin/bash
ибо первое, что пришло в голову. Спасибо.

Ответ на: комментарий от bytecode
ins@Insomnium:~$ pkexec /bin/bash
root@Insomnium:~# chsh -s /bin/bash
Password: 
chsh: PAM: Authentication failure

Отказывается аутентифицировать.

bytecode ★★ ()
Ответ на: комментарий от zolden

Да, именно так я в итоге и сделал. С init=/bin/bash и ремаутнтом. *double_facepalm.png*

bytecode ★★ ()
Последнее исправление: bytecode (всего исправлений: 1)

Замени в /etc/passwd и /etc/passwd-:

root:x:0:0:root:/root:/usr/bin/ssh
на:
root:x:0:0:root:/root:/bin/zsh
И не парь себе мозг.

Думаю, su -c '$DITOR /etc/passwd{,-}' у тебя сработает.

r3lgar ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.