
Estoy usando Ubuntu 14.04. Tengo esto en mi archivo /etc/sudoers
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
%deployers ALL=(ALL) ALL
rails ALL = NOPASSWD: /usr/local/rvm/gems/ruby-2.3.0/bin/bundle, /usr/local/rvm/rubies/ruby-2.3.0/bin/ruby, /usr/local/rvm/gems/ruby-2.3.0/bin/rake, /usr/bin/service, /sbin/ restart
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
Pensé que incluir el comando anterior (el que tiene "NOPASSWD") evitaría que me solicitaran una contraseña, pero después de reiniciar mi sistema e iniciar sesión como mi usuario "rails", tenga en cuenta que todavía me piden una contraseña cuando ejecuto sudo …
rails@mymachine:~$ sudo rake db:migrate
[sudo] password for rails:
rails@mymachine:~$ which rake
/usr/local/rvm/gems/ruby-2.3.0/bin/rake
¿Qué debo hacer para que no se me solicite una contraseña cuando ejecuto el comando “rake” (y otros comandos que enumeré)?
Respuesta1
sudo
restablece su entorno de forma predeterminada, por lo que no buscará en su archivo $PATH
. Por lo tanto, es posible que esté intentando ejecutar una versión predeterminada del sistema ruby
en lugar de la que aparece en la lista. En particular, lo $PATH
visto por sudo
se proporciona en su sudoers
archivo:
secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Intente usarlo sudo -E
para preservar su entorno o use el nombre de ruta completo para ruby
, o agregue las rutas a secure_path
, antes de las proporcionadas.