Скрипт 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
флаг.
Имейте в виду, что запуск сценария в режиме SUID небезопасен!
Это безумие:/ Я использую только родной Perl..
Я не могу найти suidperl на Archlinux, а оболочки выглядят нестабильно, не так ли?