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