Ситуация. Я отлаживаю среду ограниченного пользователя, который привязан к специальной оболочке. Чтобы сделать это, мне нужно запустить команду от имени этого пользователя в его полном контексте, используя 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 и запуск команды вручную могли бы сработать. Однако у меня нет такой роскоши.