Como executar scripts de comando raiz de usuários não-root com uso de SUID?

1

Eu quero executar um script incorporando comandos que exijam um usuário root da minha conta não raiz sem sudoing:

/usr/local/bin/dodo

#!/bin/bash
/bin/sync && /usr/sbin/pm-suspend-hybrid

O que eu fiz foi criar raízes e definir o bit SUID:

chown root:root /usr/local/bin/dodo
chmod a+xrs /usr/local/bin/dodo

Mas quando tento executá-lo, o resultado é:

$ /usr/local/bin/dodo
This utility may only be run by the root user.

Eu também tentei uma solução sudoer adicionando o arquivo /etc/sudoers.d/dodo :

%family ALL = (root) NOPASSWD: /usr/local/bin/dodo

O que é suposto, se não me engano, autorizar os usuários da família do grupo a executar o dodo como root sem senha. Mas o resultado é o mesmo.

O que eu sinto falta, por favor? Eu estou no Debian Jessie

EDIT: No último caso, sudo dodo funciona sem senha

    
por lalebarde 15.12.2016 / 21:41

1 resposta

0

A partir do link do AlexP e das diferentes respostas, aqui está o que funciona bem:

cat /usr/local/bin/dodo
#!/bin/bash
/bin/sync
exec sudo /usr/sbin/pm-suspend-hybrid

_

ls -l /usr/local/bin/dodo
-rwxr-xr-x 1 laurent family 60 déc.  18 17:47 /usr/local/bin/dodo

_

cat /etc/sudoers.d/dodo 
%family ALL = (root) NOPASSWD: /usr/sbin/pm-suspend-hybrid

Então, para qualquer pessoa do grupo familiar:

dodo

executa sync e pm-suspend-hybrid sem senha nem sudo

    
por 18.12.2016 / 17:57