O applet personalizado do GNOME no Python precisa ter privilégios de root

6

Eu escrevi um applet de painel personalizado do GNOME no Python que precisa gravar em alguns arquivos de propriedade da raiz. Existe uma maneira de começar com privilégios de root sem usar o suid?

    
por cbaby 25.02.2011 / 12:22

3 respostas

6

Você pode fazer isso com o PolicyKit .

por Jorge Castro 25.02.2011 / 17:37
1

Melhor solução: não execute o applet inteiro com permissões de root. Coloque tudo o que for possível no applet que está sendo executado com permissões normais de usuário. Crie um programa separado que modifique os arquivos necessários e execute isso por meio de sudo (ou suid).

Para a configuração de sudoers, execute visudo . Tente algo como

yourusername ALL=(ALL) NOPASSWD: /usr/local/bin/your_command.py

Para permitir a execução de comandos específicos com permissões de root.

Outra forma: adicione o arquivo acl a esses arquivos de propriedade da raiz para permitir alterações por seu usuário.

Veja man setfacl para mais informações (do pacote acl ).

    
por Olli 25.02.2011 / 15:22
1

Você deve separar os procedimentos que requerem acesso root em um programa python separado e iniciá-lo com gksudo .

Fiz uma pergunta semelhante no Stack Overflow.

    
por dv3500ea 25.02.2011 / 16:41