link veja a resposta do visudo [editar o arquivo sudoers com sudo visudo]
e faça com que ele execute como root apenas aquele arquivo sem perguntar. link
Acabei de escrever um pequeno aplicativo que modifica um arquivo no diretório /sys
. Basicamente, o arquivo /sys/class/backlight/intel_backlight/brightness
é modificado para ajustar o brilho. Por isso, requer permissão de root. O aplicativo está escrito em C ++ e estou usando a função system
para executar um comando echo (eu queria apenas a solução mais simples). Eu queria saber se eu poderia autorizar o aplicativo uma vez e, em seguida, sempre que é lançado, ele é executado como root. Não quero que o aplicativo solicite permissão de raiz toda vez que for iniciado.
EDITAR:
$ ls -l
-rwxrwxr-x 1 res res 413934 Jul 6 22:08 BrightnessControl
Obrigado.
Talvez eu entenda errado, mas acho que o bit suid é o que você precisa. Primeiro, mude o dono do programa para root, então
chmod +s <filename>
Por isso, ele será executado com a conta do proprietário dos arquivos, independentemente de qual usuário esteja iniciando.