우분투 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