我正在制作一个改变亮度的perl脚本。 我必须在文件'brightness'中写入,该文件设置为只读。 我想使用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
为什么它对普通用户不起作用?
提前致谢。
答案 0 :(得分:1)
SUID不适用于普通的perl脚本。您必须使用包装器,或使用suidperl
。此外,SUID脚本强制执行-T
标志。
请注意,在SUID模式下运行脚本是不安全的!
答案 1 :(得分:0)
太疯狂了:/ 我只使用原生perl ..
我在Archlinux上找不到suidperl而包装看起来不稳定吗?