Linux 如何禁用/启用cpu核心*而不使用*根访问
我一直在尝试使用禁用或启用linux机器中的一个或多个CPU内核Linux 如何禁用/启用cpu核心*而不使用*根访问,linux,cpu,multicore,Linux,Cpu,Multicore,我一直在尝试使用禁用或启用linux机器中的一个或多个CPU内核 sudo sh -c "echo 'n' > /sys/devices/system/cpu/cpu1/online" 只是想,如果有一种方法可以做同样的事情,但没有根访问。 谢谢您可以使用setuid 但是,出于bash脚本的安全原因,setuid被禁用,但是您可以编写一个程序,可能是用C编写的,它可以同时调用 系统(“echo'n'>/sys/devices/system/cpu/cpu1/online”) 命名可执行
sudo sh -c "echo 'n' > /sys/devices/system/cpu/cpu1/online"
只是想,如果有一种方法可以做同样的事情,但没有根访问。
谢谢您可以使用setuid
但是,出于bash脚本的安全原因,setuid被禁用,但是您可以编写一个程序,可能是用C编写的,它可以同时调用
系统(“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密码,这仅对该文件有效。允许对非root用户这样做可能不是一个好主意。但第二个命令需要root密码!!但是你必须运行这些命令一次。我假设您拥有对计算机的root访问权限,但您希望避免始终输入密码。使用此方法,您只需输入一次密码,就可以在没有密码的情况下永远调用stopcpu。如果您没有机器的根访问权限,我希望这是不可能的,因为如果不是真的,这是一个非常严重的安全问题。。。