如何在使用 su 执行命令时添加 shell 参数?

如何在使用 su 执行命令时添加 shell 参数?

情况。我正在调试被分配到特殊 shell 的受限用户的环境。为了做到这一点,我需要以该用户的身份在其完整上下文中使用 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 并手动运行命令可能会有效。但是,我没有那么奢侈。

相关内容