У меня проблема с входом в систему как root.
Мой файл '/etc/passwd' похож на

root:x:0:0:root:/root:which zsh
....
....

Я задал аналогичный вопрос в разделе «Как я могу изменить оболочку на оригинальную (/bin/bash) без прав root?».« И я предложил предложения, но до сих пор это не работает.

[]@[]:~$ su - root
Password:
Cannot execute which zsh: No such file or directory
[]@[]:~$ su - -s /bin/bash
Password:
Cannot execute which zsh: No such file or directory
[]@[]:~$ su - -s /bin/bash root
Password:
Cannot execute which zsh: No such file or directory
[]@[]:~$ su -s /bin/bash root
Password:
Cannot execute which zsh: No such file or directory

Любые предложения для этой ситуации?

2 ответа2

0

Попробуйте изменить уровень запуска во время загрузки и начать с уровня запуска 1.
Тогда вы будете пользователем root и можете редактировать каждый файл.

Если вы используете LILO, откройте приглашение boot:, набрав [Ctrl] - [X]. Затем введите:

linux 1

Если вы используете GRUB, выполните следующие действия:

  • На графическом экране загрузчика GRUB выберите метку и нажмите [e], чтобы отредактировать ее.
  • Стрелка вниз к строке ядра и нажмите [e], чтобы отредактировать ее.
  • В ответ на приглашение введите номер уровня запуска, с которого вы хотите загрузиться (от 1 до 5), или слова «одиночный или аварийный» и нажмите [Enter]. В вашем случае 1
  • Появится экран GRUB с информацией о ядре. Нажмите клавишу [b], чтобы загрузить систему.

Когда вы находитесь в однопользовательском режиме, вы являетесь пользователем root. Используйте vi (или nano или pico ...) и исправьте файл /etc/passwd .

Ссылка:

0

Используйте следующую команду, заменив /bin/sh на предпочитаемую вами оболочку:

SHELL=/bin/sh sudo -s

Эта команда сначала временно устанавливает для переменной среды SHELL значение /bin/sh или любой другой оболочки, которую вы выбрали. Затем он вызывает sudo -s который входит в оболочку, определенную переменной SHELL .

Смотрите пример журнала терминала. Обратите внимание на вывод ps который однажды показывает bash (моя оболочка по умолчанию) и один раз sh как второй процесс в иерархии, а также различные запросы.

$  sudo -s
root: ~ #  ps
  PID TTY          TIME CMD
23103 pts/2    00:00:00 sudo
23104 pts/2    00:00:00 bash
23146 pts/2    00:00:00 ps
root: ~ #  exit
ipc-admin: ~ $  SHELL=/bin/sh sudo -s
# ps
  PID TTY          TIME CMD
23190 pts/2    00:00:00 sudo
23191 pts/2    00:00:00 sh
23200 pts/2    00:00:00 ps
# exit
$

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .