Похоже, вы указали опцию -F в вашей команде «ls», показывающую, что файл является исполняемым. Это может быть настройка в вашем файле.bashrc или другом файле конфигурации, который читает ваша оболочка. При использовании опции -F с ls это дает следующее:
/: directories
@: symbolic links
|: FIFOs
=: sockets
*: executable files
Это только один файл, который вы пытаетесь удалить, возвращается после перезагрузки или все файлы?
sudo /bin/bash
должно работать. Вы будете запускать bash
с привилегиями суперпользователя, поэтому редактирование /etc/passwd
или запуск chsh
не должно быть проблемой.
Если у вас не установлен sudo, вы можете легко установить его, и sudo /bin/bash
должен работать. Любой дистрибутив Linux может использовать sudo.
Кроме того, если вы получаете запрос на ввод пароля, вам необходимо использовать аутентификацию с открытым ключом, а затем включить sudo без пароля. используйте это для настройки этогоhttps://spinupwp.com/doc/passwordless-sudo/
В этом случае следует использовать аутентификацию с открытым ключом ssh ^^.
Сделайте:
ssh root@localhost /bin/bash
Вы не получите приглашение оболочки. Однако, если вы наберете ls и нажмете Enter, вы увидите вывод. Затем вы можете использовать эту команду sed для сброса вашей корневой оболочки:
/usr/bin/sed -i -e 's|^\(root.*:\)[^:]*$|\1/bin/bash|g' /etc/passwd
В зависимости от вашего дистрибутива команда sed может находиться в папке /bin/sed.
Очевидно, что это отчаянная мера.
Вероятно, самый простой выход — загрузиться в режиме восстановления установочного носителя и исправить /etc/passwd
таким образом.