Разрешить группе запускать все файлы в определенном каталоге в CentOS

Я пытаюсь настроить автоматическое развертывание приложения Rails с помощью Capistrano. Капистрано нужно будет бежать sudo killи я добился этого без запроса пароля, отредактировав /etc/sudoers файл (через visudo, конечно) и добавил следующую строку:

%deployers  ALL= NOPASSWD: /bin/kill

Однако, поскольку я использую однопользовательскую настройку RVM, bundle исполняемый файл находится на /home/peddiemarketdeploy/.rvm/gems/ruby-1.9.3-p194/bin/bundleИтак, аналогично, я добавил

%deployers  ALL= NOPASSWD: /home/peddiemarketdeploy/.rvm/gems/*

в этом файле, и попытался запустить sudo bundle, но sudo все еще спрашивает у меня пароль. Поскольку RVM использует номер версии в имени каталогов, я не хочу жестко задавать путь в /etc/sudoers, Есть идеи, как мне отредактировать файл sudoers, чтобы он работал?

Спасибо!

1 ответ

Решение

Rvm как-то ссылается на активный экземпляр ruby? То есть есть какая-то символическая ссылка /home/peddiemarketdeploy/.rvm/gems/$active что указывает на то, что активная версия случается? Если так, то разрешите sudo для /home/peddiemarketdeploy/.rvm/gems/$active/bin/bundle, В противном случае напишите скрипт-обертку (не в оболочке, а в perl или python), которая выберет правильную версию и позволит людям запускать ее с помощью sudo.

Другие вопросы по тегам