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

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

Я пытаюсь настроить автоматическое развертывание для моего приложения Rails с помощью Capistrano. 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. В противном случае напишите скрипт-обертку (не в оболочке, аперлилипитон), который выбирает нужную версию и позволяет людям запускать ее с помощью sudo.

Связанный контент