Ситуация. Я отлаживаю среду ограниченного пользователя, который связан со специальной оболочкой. Чтобы сделать это, мне нужно запустить команду от имени этого пользователя в полном контексте, используя su, как показано ниже:
su - $user -c "echo hello world" --shell /bin/custom_shell
Очевидно, я могу изменить команду и параметры команды, которую будет выполнять /bin /custom_shell, но как добавить параметр, с которым будет выполняться custom_shell? Пример эквивалента добавления параметра "--debug":
root->su - $user
$user->/bin/custom_shell --debug --command "echo hello world"
Примечание: sudo не будет работать для этого, так как существует много переменных профиля и изменений рабочего каталога, которые происходят при входе в систему. Отсюда и причина того, что я использую su. Кроме того, это странная, периодически возникающая проблема, которая мне нужна для сценариев и запуска в противном случае, su - $ user и выполнение команды вручную может сработать. Однако у меня нет такой роскоши.