У меня есть сценарий развертывания, который выполняется непривилегированным deploy
пользователь. Чтобы полностью автоматизировать вещи, тем не менее, я должен записать конфигурационный файл веб-сервера в /etc/nginx/sites-available
и символьная ссылка это в /etc/nginx/sites-enabled
.
Я не изменил бы владение или полномочия для этого конкретного каталога, таким образом, я пытался выяснить способ сделать это с паролем меньше sudo доступ. Так как я здесь, я предполагаю, что довольно ясно, что у меня не было удачи.
Есть ли любой способ обновить мой sudoers
зарегистрируйте таким образом что deploy
пользователь может записать новые файлы в те каталоги?
Можно попытаться писать NOPASSWD
правило как так:
deploy ALL = (root) NOPASSWD: /bin/cp -t /etc/nginx/sites-available *, /bin/ln -s /etc/nginx/sites-available/* /etc/nginx/sites-enabled
Тогда эти deploy
использование непосредственно скопировало бы в sites-available
папка, после создания конфигурации в другом месте, затем создало бы ссылку (без целевого определяемого имени).
Это могло бы иметь лазейки также.
Или Вы могли записать сценарий, который управляет всем этим, и имейте сингл NOPASSWD
правило только с тем сценарием.