我正在启动一个进程富巴作为一个新贵服务,应该在 user 下运行joe
。为此,我正在使用su -c
:
script
su -c "foobar" joe
end script
然而,su
当富巴执行。我怎么能够代替过程?是否有su
或其他(标准)实用程序的选项?
答案1
请勿滥用su
删除用户权限。
在二十年的大部分时间里,它并没有以正确的方式发挥作用,事实上,它只是一个工具添加特权。正如超链接文章详细解释的那样,它不适合作为守护进程辅助工具。您正在见证其中的原因之一。
新贵有诗setuid
节用于设置作业进程执行的用户帐户,如新贵食谱说。
如果你真的想要一个链式加载工具来执行此操作,守护进程工具家族的工具集中有很多这样的工具。
使用setuidgid
,setuidgid
,s6-setuidgid
,chpst
,runuid
, 或者setuidgid
在exec
节中:
执行 setuidgid 乔 foobar