Como permitir que um usuário comum execute um comando de superusuário (de / usr / sbin)

0

Executando o Debian 9, eu gostaria que usuários regulares pudessem executar alsactl monitor como um gatilho para redesenhar uma barra de status que mostra o volume atual - sem ter que recorrer a sondagens. No entanto, alsactl vive em /usr/sbin/ , em outras palavras, precisa de privilégios de superusuário. Qual é a melhor maneira de permitir que usuários comuns usem este comando?

Para definir melhor : um bom compromisso entre simples e restritivo . Em outras palavras, usar ferramentas que vêm com o Debian ou estão disponíveis nos repositórios, assim como não ter que realizar mudanças profundas no sistema, é uma vantagem, assim como manter os direitos adicionais para os usuários o mais limitado possível.

Nota : Achei extremamente difícil procurar por esse problema, mas tenho quase certeza de que perguntas semelhantes foram feitas antes. Se você puder me indicar uma cópia adequada, terei o maior prazer em excluir isso.

    
por domsson 22.01.2018 / 22:24

3 respostas

1

Deve ser possível executar um comando a partir de /usr/sbin usando o caminho absoluto para o comando.

/usr/sbin/alsactl

Você recebe a mensagem "alsactl: comando não encontrado" porque /usr/sbin não está no PATH do seu não-superusuário.

    
por 22.01.2018 / 23:32
1

Você pode usar uma regra sudoers dentro do arquivo / etc / sudoers

joe ALL=(ALL) NOPASSWD: /full/path/to/command args 

no seu caso, adicione uma linha como:

user ALL=(ALL) NOPASSWD: /usr/bin/alsactl monitor

tenha cuidado ao conceder permissões em excesso ... mas eu acho que o alsactl não é um comando que precisa de permissões sudo

    
por 22.01.2018 / 22:43
0

Já tentou usar o visudo ? Ou apenas editando diretamente o arquivo / etc / sudoers ?

    
por 22.01.2018 / 22:43