Можно ли изменить корневую оболочку от пользователя?

Похоже, вы указали опцию -F в вашей команде «ls», показывающую, что файл является исполняемым. Это может быть настройка в вашем файле.bashrc или другом файле конфигурации, который читает ваша оболочка. При использовании опции -F с ls это дает следующее:

/: directories
@: symbolic links
|: FIFOs
=: sockets
*: executable files

Это только один файл, который вы пытаетесь удалить, возвращается после перезагрузки или все файлы?

1
26.05.2021, 12:25
4 ответа

sudo /bin/bashдолжно работать. Вы будете запускать bashс привилегиями суперпользователя, поэтому редактирование /etc/passwdили запуск chshне должно быть проблемой.

0
28.07.2021, 11:29

Если у вас не установлен sudo, вы можете легко установить его, и sudo /bin/bashдолжен работать. Любой дистрибутив Linux может использовать sudo.

Кроме того, если вы получаете запрос на ввод пароля, вам необходимо использовать аутентификацию с открытым ключом, а затем включить sudo без пароля. используйте это для настройки этогоhttps://spinupwp.com/doc/passwordless-sudo/

В этом случае следует использовать аутентификацию с открытым ключом ssh ^^.

0
28.07.2021, 11:29

Сделайте:

ssh root@localhost /bin/bash

Вы не получите приглашение оболочки. Однако, если вы наберете ls и нажмете Enter, вы увидите вывод. Затем вы можете использовать эту команду sed для сброса вашей корневой оболочки:

/usr/bin/sed -i -e 's|^\(root.*:\)[^:]*$|\1/bin/bash|g' /etc/passwd

В зависимости от вашего дистрибутива команда sed может находиться в папке /bin/sed.

Очевидно, что это отчаянная мера.

2
28.07.2021, 11:29

Вероятно, самый простой выход — загрузиться в режиме восстановления установочного носителя и исправить /etc/passwdтаким образом.

2
28.07.2021, 11:29

Теги

Похожие вопросы