0

我正在制作一个 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

为什么它不适用于普通用户?

提前致谢。

4

2 回答 2

1

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

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

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

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

于 2013-04-16T12:43:24.547 回答
0

太疯狂了:/我只使用本机perl ..

我在 Archlinux 上找不到 suidperl,而且包装器看起来很不稳定,不是吗?

于 2013-04-16T22:38:45.967 回答