En resumen : ¿cómo hacer que sudo no elimine la RUTA cada vez?
Tengo algunos sitios web implementados en mi servidor (pruebas de Debian) escritos con Ruby on Rails. Uso Mongrel + Nginx para alojarlos, pero hay un problema que surge cuando necesito reiniciar Mongrel (por ejemplo, después de hacer algunos cambios).
Todos los sitios se verifican en VCS (git, pero no es importante) y tienen el propietario y el grupo configurados para mi usuario, mientras que Mongrel se ejecuta bajo el usuario, huh, mestizo que está severamente restringido en sus derechos. Por lo tanto, Mongrel debe iniciarse en la raíz (puede cambiar automáticamente el UID) o mestizo.
Para administrar mongrel, uso la gema mongrel_cluster porque permite iniciar o detener cualquier cantidad de servidores de Mongrel con un solo comando. Pero necesita que el directorio /var/lib/gems/1.8/bin esté en RUTA: esto no es suficiente para iniciarlo con una ruta absoluta .
La modificación de la RUTA en la raíz .bashrc no cambió nada, tampoco se modificaron env_reset y env_keep de sudo.
Entonces, la pregunta: ¿cómo agregar un directorio a la RUTA o mantener la RUTA del usuario en sudo?
Actualización: algunos ejemplos
$ env | grep PATH
PATH=/usr/local/bin:/usr/bin:/bin:/usr/games:/var/lib/gems/1.8/bin
$ sudo cat /etc/sudoers | egrep -v '^$|^#'
Defaults env_keep = "PATH"
root ALL=(ALL) ALL
%sudo ALL=NOPASSWD: ALL
$ sudo env | grep PATH
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin
También puedo decir que funciona exactamente de esta manera en Debian estable (lenny) también.