-4

我一直在尝试使用禁用或启用我的 linux 机器中的一个或多个 CPU 内核

sudo sh -c "echo 'n' > /sys/devices/system/cpu/cpu1/online"

只是在想是否有办法做同样的事情但没有 root 访问权限。谢谢

4

1 回答 1

2

您可以使用 setuid http://www.linuxnix.com/2011/12/suid-set-suid-linuxunix.html

但是,由于 bash 脚本的安全原因,setuid 被禁用,但是您可以编写一个程序,也许是在 C 中,它可以简单地调用

system("echo 'n' > /sys/devices/system/cpu/cpu1/online");

将可执行文件命名为stopcpu,然后执行以下操作

chmod a+x stopcpu
sudo chown root stopcpu
sudo chmod u+s stopcpu

从这一刻起,./stopcpu 将以 root 权限运行,而无需输入 root 密码,这仅对该文件有效。

于 2013-05-09T17:14:19.737 回答