Я недавно установил zsh в качестве оболочки на свой ноутбук, и мне очень понравились изменения. В результате я решил добавить его по умолчанию на свой сервер. Я отредактировал свой / etc / passwd так, чтобы он указывал на / etc / zsh для моего пользователя и root (на сервере), а затем вышел из ssh.
За исключением того, что я забыл установить zsh.
Теперь я не могу войти в систему как root или этот пользователь. У меня есть физический доступ к машине, но я бы предпочел не подключать монитор. У меня также есть доступ к учетной записи обычного пользователя и я знаю пароль root. Как мне это исправить?
Не следует упоминать, но я не могу установить zsh без root-доступа.
Вы можете использовать флаг -s на su
чтобы указать оболочку, поэтому вы можете использовать su -s /bin/bash -
чтобы получить root-доступ с помощью оболочки bash.
Вы можете выполнить удаленную команду по ssh, включая другую оболочку. Вы захотите принудительно выделить tty, чтобы оболочка могла нормально работать. Затем вы можете запустить корневую оболочку или при необходимости отредактировать файлы, используя sudo как обычно.
ssh hostname -t /bin/bash