Для пользователя с правами sudo был заменен shell в /etc/passwd на /bin/zsh однако сам zsh не был установлен.
Теперь при попытке входа в консоль под этим пользователем имеем Cannot execute /bin/zsh: No such file or directory
Система удаленна нет возможности зайти под рутом и изменить запись в /etc/passwd, вход под root по ssh отключен.
Есть пользователь без sudo.
Под ним пытаюсь использовать su с параметром -s однако это не срабатывает и выдается ошибка Cannot execute /bin/zsh: No such file or directory
Есть ли какой то метод решить эту проблему? Либо остается попросить местоного админа зайти с консоли под рутом и изменить файл /etc/passwd с правильной строкой shell /bin/bash?
Для того, чтобы написать su, нужно зайти на сервер. А он не может, потому что zsh не установолен.
Тут нужно чинить другим пользователем, у которого есть sudo
Saboteur: su я могу написать. Я захожу в систему под пользователем у которого нет sudo и пытаюсь под ним сделать su. Но я никак не могу взять в толк почему в документации написано что запись shell в /etc/passwd будет игнорироваться с этими ключами. А по факту этого не происходит.
arruah: а зачем вам sudo? sudo позволяет выполнять команды от рута не имея пароля рута, su позволяет выполнять команды от рута зная пароль рута. просто выполните su и у вас будут права рута
arruah: А вот и ответ из мануала. If the target user has a restricted shell (i.e. the shell field of this user's entry in /etc/passwd is not listed in /etc/shells), then the --shell option or the $SHELL environment variable won't
be taken into account, unless su is called by root.
Daemon23RUS: su - -c/bin/bash пробуйте, обратите внимание на минусы, su - это вызов прав с окружением пользователя, по идее должен будет остаться шелл юзера
arruah: попробовал в виртуалке, вы не сможете запустить этого пользователя не из под рута никак, вам путь только 1, руками добраться до рута, к примеру через админку впс или через обращение в их суппорт, больше никак.