sudo를 사용하여 모든 명령을 실행할 수 있어야 하는 Linux 사용자가 있는데 하나의 실행 파일을 제외한 모든 명령에 대한 비밀번호를 요청해야 합니다. 현재 내 sudoers 파일은 다음과 같습니다.
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# 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"
# 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) NOPASSWD:/bin/switch.sh
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
그래서 내 사용자를 sudo 그룹에 추가했지만 이제 sudo를 사용하여 switch.sh만 실행할 수 있고 다른 명령은 실행할 수 없기 때문에 내 구문이 잘못된 것 같습니다.
답변1
그룹 사용자 의 경우 %sudo
무엇이든 허용되지만 /bin/switch.sh
첫 번째 행이 필요합니다. 두 번째 줄에서는 %sudo
비밀번호로 모든 것을 실행할 수 있지만, 첫 번째 줄이 우선하기 때문에 스크립트를 제외한 모든 항목은 첫 번째 줄에 비밀번호를 입력해야 합니다.
%sudo ALL=(root) NOPASSWD:/bin/switch.sh
%sudo ALL=(ALL) ALL