没有root权限的好命令

Tom*_*oga 7 cpu-load nice

我需要运行dosemunice --20从脚本。问题是:负值只能与 sudo 一起应用。

你知道有什么方法可以在nice没有脚本的情况下运行命令sudo或直接nice --20 dosemu从脚本运行吗?

Jan*_*ary 5

不幸的是,我认为这并不容易。

如果您的 dosmu 进程作为一个单独的用户运行,那么您可以使用 将那个用户的所有进程的优先级设置为负值/etc/security/limits.conf

编辑:愚蠢的我,你不能创建一个 suid shell 脚本,那是行不通的。

EDIT2:好的,您可以配置 sudo,以便在 sudo 组中的某个人运行 nice 或 renice 时不需要您提供密码。在终端窗口中,输入

sudo visudo
Run Code Online (Sandbox Code Playgroud)

这将打开一个简单的文本编辑器,用于编辑 sudo 的配置。在文件末尾添加以下行:

%sudo   ALL = (ALL) NOPASSWD: /usr/bin/nice,/usr/bin/renice
Run Code Online (Sandbox Code Playgroud)

退出编辑器。编辑器将确保语法正确(否则可能会破坏系统)。现在,你可以运行

sudo nice -n -20 sudo -u $USER /some/program
Run Code Online (Sandbox Code Playgroud)

并且不会提示您输入密码。事实上,nice 将启动另一个名为 sudo 的进程,优先级为 -20。这个新的 sudo 进程将切换回您的原始用户(-u $USER,否则您将以 root 身份运行 /some/program)并启动 /some/program。

  • 这是一个旧的答案,但这个建议只是要求如果不受信任的用户有权访问此命令,您的服务器就会受到威胁。`nice` 运行您以 root 身份提供的任何命令! (3认同)