Sudo falha ao executar como serviço

1

Eu tenho um programa que é executado como um usuário normal, mas às vezes precisa executar um comando que requer privilégios de root. Então eu fiz um script de shell e dei permissão ao usuário para rodar esse script com o sudo.

O script é executado com sucesso quando executo o programa a partir do shell, mas falha ao executar como um serviço. Sudo sai com este erro:

sudo: effective uid is not 0, is /usr/bin/sudo on a file system with
the 'nosuid' option set or an NFS file system without root privileges?0

Este é o arquivo unitário do serviço, este é o script e, em sudoers , adicionei

user ALL = (root) NOPASSWD: /path/to/script

Eu não tenho ideia do porquê. O Sudo funciona bem e as permissões para /usr/bin e /usr/bin/sudo estão corretas.

    
por Rnhmjoj 14.02.2015 / 18:10

1 resposta

2

Você definiu NoNewPrivileges=true no arquivo de unidade

Da documentação:

Se verdadeiro, garante que o processo do serviço e todos os seus filhos nunca possam obter novos privilégios. Esta opção é mais poderosa que os respectivos flags de bits seguros (veja acima), já que também proíbe mudanças de UID de qualquer tipo. Essa é a maneira mais simples e eficaz de garantir que um processo e seus filhos nunca possam elevar os privilégios novamente.

Portanto, o sudo não terá privilégios de root, mesmo que o executável tenha o conjunto de bits suid

    
por 14.02.2015 / 19:54