2013-04-16 8 views
0

Я создаю скрипт perl для изменения яркости. Я должен написать в файле «яркость», который установлен только для чтения. Я хочу использовать бит SUID, чтобы я это сделал.suid бит скрипт perl

$> 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.

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

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

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

0

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

Я не нашел suidperl на ArchLinux и обертки выглядят нестабильная не так ли?