suid bit script perl

时间:2013-04-16 10:45:19

标签: perl sudo chmod chown suid

我正在制作一个改变亮度的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

为什么它对普通用户不起作用?

提前致谢。

2 个答案:

答案 0 :(得分:1)

SUID不适用于普通的perl脚本。您必须使用包装器,或使用suidperl。此外,SUID脚本强制执行-T标志。

  

http://www.perlmonks.org/?node_id=130671

请注意,在SUID模式下运行脚本是不安全的!

  

http://www.perlmonks.org/?node=perlsec

答案 1 :(得分:0)

太疯狂了:/ 我只使用原生perl ..

我在Archlinux上找不到suidperl而包装看起来不稳定吗?