
우분투 14.04를 사용하고 있습니다. 내 /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
위 명령(“NOPASSWD”가 포함된 명령)을 포함하면 암호를 묻는 메시지가 표시되지 않을 것이라고 생각했지만 시스템을 재부팅하고 “rails” 사용자로 로그인한 후에도 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
"rake" 명령(및 내가 나열한 다른 명령)을 실행할 때 비밀번호를 묻는 메시지가 표시되지 않도록 하려면 어떻게 해야 합니까?
답변1
sudo
기본적으로 환경을 재설정하므로 $PATH
. 따라서 ruby
나열된 버전 대신 시스템 기본 버전을 실행하려고 할 수 있습니다 . 특히 $PATH
본 사람이 파일 sudo
에 제공됩니다 sudoers
.
secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
환경을 보존하기 위해 를 사용 sudo -E
하거나 에 대한 정규화된 경로 이름을 사용 하거나 제공된 경로 앞에 ruby
에 경로를 추가해 보십시오 .secure_path