sudo shutdown -h now
저는 Ubuntu 18.04LTS를 사용하고 있으며 sudoers 파일을 비밀번호 없이 실행되도록 변경하고 싶습니다 (for my_username
). 내가 취한 조치는 다음과 같습니다.
내 사용자가 my_username
터미널을 엽니다.
sudo visudo
내가 추가한 줄은 다음과 같습니다.
my_username ALL=(ALL) NOPASSWD: /sbin/shutdown
첫 번째 부분(사용자와 ALL 사이)에는 탭 문자가 하나만 있고 나머지는 공백입니다. 사용자는 id
터미널에 나타나는 사용자입니다. 그 후 시스템을 다시 시작하고 입력했지만 sudo shutdown -h now
계속 비밀번호를 묻는 경우가 있었습니다.
내가 뭘 잘못했나요?
- - -편집하다- - -
글쎄요, 줄을 추가하는 순서가 중요한지 몰랐기 때문에 요청에 따라 전체 파일을 추가했습니다(매우 간단한 sudoers 구성이었습니다).
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/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
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
my_username ALL=(ALL) NOPASSWD: /sbin/shutdown
#includedir /etc/sudoers.d
이 방법은 나에게 정말 잘 작동합니다. 문제는 이 줄을 루트 줄 뒤에 추가했다는 것입니다.
답변1
sudoers 매뉴얼 페이지(남자 5 sudoers)이 언급되었다
여러 항목이 사용자와 일치하면 순차적으로 적용됩니다. 일치하는 항목이 여러 개인 경우 마지막 항목이 사용됩니다(가장 구체적인 항목일 필요는 없음).
따라서 구성이 구체적인지 여부는 중요하지 않습니다.
sudoers
또한 그룹(예: wheel
Red Hat 기반 배포판)이 있는 경우 다음 라인을 고려하십시오.
%wheel ALL=(ALL) ALL
전에 있어야NOPASSWD
답변2
구성
my_username ALL=(ALL) NOPASSWD: /sbin/shutdown
사용자가 인수를 사용하거나 사용하지 않고 비밀번호를 제공하지 않고 my_username
실행할 수 있도록 허용합니다. 하지만 반드시 사용해야 하며 단지 선택하는 실행 파일은 해당 에 따라 달라지기 때문입니다 ./sbin/shutdown
/sbin/shutdown
shutdown
$PATH