Назад | Перейти на главную страницу

Команда Sudoers и setfacl с аргументами (:, "chars)

в случае сценария развертывания (https://github.com/EasyCorp/easy-deploy-bundle/blob/master/doc/default-deployer.md#security-options) Мне нужно бежать setfacl с удаленной машины, которая отправляет код.

Для этого в файле sudoer я добавил для конкретного пользователя право запускать команду без пароля, но я бы хотел сделать это для полной команды:

username  ALL=(ALL:ALL) NOPASSWD: /usr/bin/setfacl setfacl -RL -m u:"www-data":rwX var/cache/ var/log/

На данный момент я вынужден удалить аргументы команды, потому что полная команда отклонена. Я пытался добавить \ Сбежать :, то же самое для ". Но это не работает.

username  ALL=(ALL:ALL) NOPASSWD: /usr/bin/setfacl setfacl

большое спасибо

setfacl такой же как /usr/bin/setfacl. Предпочитаю позже. Но не пишите и то, и другое.

Вы правы, чтобы сбежать : префикс \.

Чтобы указать несколько путей, необходимо повторить команду, используя запятую в качестве разделителя. Вы также можете продублировать всю строку. Тебе решать.

Конечный результат должен выглядеть так:

username ALL=(ALL:ALL) NOPASSWD: /usr/bin/setfacl -RL -m u\:www-data\:rwX var/cache, /usr/bin/setfacl -R -m u\:www-data\:rwX var/log