Meu instinto me diz que o que você está fazendo é uma idéia terrível. Mas na verdade você não deu informações suficientes sobre o motivo pelo qual você gostaria disso e qual é o caso de uso para dizer isso realmente.
Mas seu pensamento sobre sudo
está errado, seja uma boa ideia ou não.
Uma entrada de sudoers é definida como:
USER HOST = [(RUNAS)] [NOPASSWD:] [!] CMD[,...]
O que significa que o usuário USER
está autorizado a executar CMD
como usuário RUNAS
(se fornecido). Então você poderia construir sua entrada sudoers
assim:
www-data YOUR-HOSTNAME = (YOUR-USER) NOPASSWD: /path/to/command
Isso permitirá que o usuário www-data
no host especificado (ou ALL
se você der isso como YOUR-HOSTNAME
) para executar o programa /path/to/command
como usuário YOUR-USER
sem uma senha.
Você também pode fornecer o comando ALL
as, permitindo que cada comando YOUR-USER
tenha acesso.
Exemplo
Com seus valores exemplares fornecidos, uma linha de sudoers consistiria no seguinte (assumindo mydeployer
como o nome do host e thedeployer
como o nome de usuário):
www-data mydeployer = (thedeployer) NOPASSWD: ALL