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

Разрешить группе запускать все файлы в определенном каталоге в 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, чтобы он работал?

Спасибо!

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