Eu preciso de um usuário do Linux (vamos chamá-lo de "bob") que tem permissão para executar uma lista de comandos que exigem privilégios de root. Portanto, ele deve executar /sbin/firstcommand
e /sbin/secondcommand
(que fazem parte do infame bob-daemon¹) como raiz, como em sudo firstcommand
. Sem ter que inserir uma senha.
Isso foi o que eu fiz até /etc/sudoers
até agora:
Cmnd_Alias BOBCOMMANDS = /sbin/firstcommand, /sbin/secondcommand
bob ALL=(root) NOPASSWD:BOBCOMMANDS
Isso faz com que bob$ sudo firstcommand
e bob$ sudo secondcommand
sejam executados com êxito como root, mas não é possível executar, por exemplo, bob$ sudo mount ... ...
, mesmo com o fornecimento de uma senha, o que parece perfeito para mim.
Agora, quero que o bob-daemon¹ mencionado acima seja executado como usuário bob
em vez de root
, porque ele só precisa desses privilégios para o BOBCOMMANDS
. Na verdade, sempre que o bob$ firstcommand
for emitido, eu quero que bob$ sudo firstcommand
seja executado.
Parecia que um alias poderia corrigir isso: bob$ alias firstcommand="sudo firstcommand"; alias secondcommand="sudo secondcommand"
realmente funcionou, mas não consegui tornar os aliases persistentes sem que o bob tenha um diretório inicial.
A última coisa que devo mencionar é que isso deve ser facilmente implantável em várias máquinas, então eu preferiria não tocar nos arquivos de sistema existentes do linux, além de ter que criar bob e alterar sudoers
.
Alguma solução?
¹ simplificado por mim