我是root用户,假设我想以其他用户身份运行任何应用程序。是否可以在不切换到其他用户的情况下进行?
就像是
# google-chrome user=abc
我实际上是以非root用户身份执行CLI程序的。我已经设置了粘性位,并且我正在使用setuid,因此该程序以root特权运行。现在,我system()
在程序内使用它来调用GUI应用程序。但是我不想以root用户身份运行它,所以我只想暂时取消该调用的root特权。
一个可移植的解决方案是:
su abc -c google-chrome
但是,由于google-chrome需要X11访问,除非您取消安全保护,否则这很可能会失败,这是一个非常糟糕的主意,尤其是在以root身份运行时。
如果允许X11调整/转发,则更好的方法是
ssh -X abc@localhost google-chrome
或者
ssh -Y abc@localhost google-chrome
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句