Permitir que un grupo ejecute todos los archivos en un determinado directorio en CentOS

Permitir que un grupo ejecute todos los archivos en un determinado directorio en CentOS

Estoy intentando configurar la implementación automática para mi aplicación Rails usando Capistrano. Capistrano necesitará ejecutar sudo kill, y lo logré sin que me pidiera una contraseña, editando el /etc/sudoersarchivo (a través de visudo, por supuesto), y agregué la siguiente línea:

%deployers  ALL= NOPASSWD: /bin/kill

Sin embargo, dado que estoy usando la configuración de usuario único de RVM, el bundleejecutable está en /home/peddiemarketdeploy/.rvm/gems/ruby-1.9.3-p194/bin/bundle, por lo que, de manera similar, agregué

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

en ese archivo también, e intenté ejecutarlo sudo bundle, pero sudo todavía me pide una contraseña. Dado que RVM usa el número de versión en el nombre de los directorios, no quiero codificar una ruta en /etc/sudoers. ¿Alguna idea de cómo puedo editar mi archivo sudoers para que funcione?

¡Gracias!

Respuesta1

¿Rvm se vincula de alguna manera con la instancia activa de Ruby? Es decir, ¿hay algún tipo de enlace simbólico llamado /home/peddiemarketdeploy/.rvm/gems/$activeque apunte a la versión activa que sea? Si es así, permita sudo para /home/peddiemarketdeploy/.rvm/gems/$active/bin/bundle. De lo contrario, escriba un script contenedor (no en el shell, sinoperlaopitón) que elige la versión correcta y permite que las personas la ejecuten usando sudo.

información relacionada