Gravar configuração Nginx como usuário não privilegiado

0

Eu tenho um script de implantação que é executado por um usuário deploy sem privilégios. Para automatizar totalmente as coisas, no entanto, eu tenho que escrever um arquivo de configuração do servidor web para /etc/nginx/sites-available e criar um link simbólico em /etc/nginx/sites-enabled .

Prefiro não alterar a propriedade ou as permissões para esse diretório específico, por isso estou tentando descobrir uma maneira de fazer isso com o acesso sem senha do sudo. Já que estou aqui, acho que está bem claro que não tive sorte.

Existe alguma maneira de atualizar meu arquivo sudoers de tal forma que o usuário deploy possa gravar novos arquivos nesses diretórios?

    
por Rob Wilkerson 03.03.2015 / 15:36

1 resposta

0

Você pode tentar escrever uma regra NOPASSWD assim:

deploy ALL = (root) NOPASSWD: /bin/cp -t /etc/nginx/sites-available *, /bin/ln -s /etc/nginx/sites-available/* /etc/nginx/sites-enabled

Em seguida, o deploy use seria copiado diretamente para a pasta sites-available , depois de criar a configuração em outro lugar, em seguida, crie o link (sem especificar um nome de destino).

Isso pode ter brechas também.

Ou você pode escrever um script que gerencie tudo isso e ter uma única regra NOPASSWD com apenas esse script.

    
por muru 03.03.2015 / 16:47