Назад | Перейти на главную страницу

Как войти в систему без запуска скрипта в /etc/profile.d

Я по ошибке поместил sh-скрипт в /etc/profile.d для автоматического запуска некоторых команд после входа в систему. первый скрипт запущен

#!/bin/bash
sudo su - userb
several normal commands

Однако, когда я вхожу в систему как «usera», а затем запускаю скрипт, для выполнения следующей команды требуется ввести пароль пользователя. Проблема в том, что у меня нет пароля пользователя, я пробовал ctrl-c и несколько раз вводил неверный пароль, они вызывали прямое завершение сеанса. ctrl-z тоже не работает

Можно ли не запускать скрипт или вернуться к "usera", чтобы я мог вручную удалить скрипт?

Войдите в систему, указав bash с --noprofile параметр.

Из документация:

--noprofile
Не читайте ни общесистемный файл запуска / etc / profile, ни какие-либо личные файлы инициализации ~ / .bash_profile, ~ / .bash_login или ~ / .profile. По умолчанию bash читает эти файлы, когда он вызывается как оболочка входа в систему (см. ВЫЗОВ ниже).

Чтобы использовать это:

ssh usera@yourserver bash --noprofile

Не пугайтесь, если это не сработает, если вход в систему будет успешным, вы ничего не получите, даже приглашение (все это задается сценариями входа). Но вы можете использовать сервер как обычно.