Скрипт suid bit perl

Я делаю 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

Почему это не работает для обычного пользователя?

Заранее спасибо.

2 ответа

SUID не работает на обычных Perl-скриптах. Вы должны либо использовать обертку, либо использовать suidperl, Также SUID-скрипты обеспечивают -T флаг.

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

Имейте в виду, что запуск сценария в режиме SUID небезопасен!

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

Это безумие:/ Я использую только родной Perl..

Я не могу найти suidperl на Archlinux, а оболочки выглядят нестабильно, не так ли?

Другие вопросы по тегам