启动时结合 su 和 screen

启动时结合 su 和 screen

我想在启动时启动一个长时间运行的自定义脚本。该脚本必须在特定用户名下运行。到目前为止我已经成功使用了 screen 命令并切换到了自定义脚本中的用户。但我宁愿在该用户下运行 screen 命令,以便稍后登录该用户并恢复屏幕。

当在控制台中以 root 身份运行时,此命令确实可以工作,但它不能作为启动脚本中的一行工作。

su -c "screen -S sessionname -d -m /path/cot/bash/script" 用户名

答案1

在 GNU/Linux 下启动时,你不应该使用su(如这取决于 PAM/dbus,可能尚不可用),但是runuser

runuser username -l -c "screen -S sessionname -d -m /path/to/bash/script"

当使用runuser后跟用户名时,语法与 相同su

答案2

明白了,我应该使用 -l 标志:

su -l -c "screen -S sessionname -d -m /path/to/bash/script" username

相关内容