以root权限运行命令作为非root用户


0

我想设置steam以高于默认优先级自动运行,这包括启动它。但要设置低于0的优先级,我必须是root。问题是蒸汽不喜欢以root身份启动,所以如果我做一些类似sudo nice -n -1 steam的事情,它会说它不能以root身份启动。此外,如果我使用sudo -u myusername nice -n -1 steam,那么抱怨它没有设置该优先级的权限。

我使用visudo给myuser特权,在没有密码的情况下运行sudo,但这是徒劳的。

我知道这已经在其他地方得到了回答,但我不知道如何搜索......这是一个相当具体的问题。

提前致谢

编辑:使用renice AFTER我开始蒸汽不会这样做,因为子进程(游戏)不会从父进程那样继承好的值


可以;你只是以用户身份启动它然后renice是root用户?
Hennes 2013年

如果我使用renice然后孩子们的过程将不会获得相同的好价值:(
Pablo Mescher 2013年

Answers:


3

蒸汽论坛上的人建议开始屏幕,重新开始,然后在其控制下运行蒸汽。那对你有用吗?


我不明白这是如何回答我的问题的。我没有运行蒸汽的问题,我想给它一个更高的优先级,以便它使用更多我的旧硬件
Pablo Mescher 2013年

1
是。如果你调整屏幕会话的漂亮程度,你从中执行的蒸汽将继承它的优点。

1

我相信你只需要重新安排你已经拥有的部分:成为root,然后输入

nice -n -1 sudo -u您的用户名steam

[编辑]

nice -n -1 su您的用户名-c steam

这个想法就是你

  1. 成为特权,
  2. 设置优先级高于默认值(数值小于0),这需要权限,
  3. 使用sudosu恢复为您的正常(非特权)身份(但希望保留您在上一步中设置的优先级),然后
  4. 运行(steam)命令,具有提升的优先级但不提升权限。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.