我一直在尝试使用禁用或启用我的 linux 机器中的一个或多个 CPU 内核
sudo sh -c "echo 'n' > /sys/devices/system/cpu/cpu1/online"
只是在想是否有办法做同样的事情但没有 root 访问权限。谢谢
您可以使用 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 密码,这仅对该文件有效。