我正在制作一个perl脚本来改变亮度。我必须在"亮度"文件中写入,该文件设置为只读。我想使用SUID位,所以我使用了。
$> sudo chown root:root brightness
$> sudo chmod 4755 brightness
$> ls -l brightness
-rwsr-xr-x 1 root root 698 Apr 15 23:22 brightness
$> ./bightness -20
No open bightness
$> sudo ./brightness -20
Done
为什么不适合普通用户?
SUID不能在正常的perl脚本上工作。您要么必须使用包装器,要么使用suidperl
。而且,squid脚本强制使用-T
标志。
http://www.perlmonks.org/?node_id=130671
请注意,在SUID模式下运行脚本是不安全的!
http://www.perlmonks.org/?node=perlsec
太疯狂了:/我只使用本地perl.
我在Archlinux上找不到suidperl,包装器看起来不稳定,不是吗?