Sudoers: 별칭이 이미 정의되어 있습니다.""

Sudoers: 별칭이 이미 정의되어 있습니다.""

다음 파일을 정의했습니다./etc/sudoers.d/50-apps

Cmnd_Alias APPS=/usr/bin/systemctl start app-*, /usr/bin/systemctl stop app-*,\
                /etc/init.d/app1, /etc/init.d/app2

Cmnd_Alias LOGS=/usr/bin/less /var/log/*, /bin/tail -f /var/log/*, /bin/tail /var/log/*,\
                /bin/ls /var/log/*

%developers ALL= NOPASSWD: SETENV: APPS, LOGS
%testers ALL= NOPASSWD: SETENV: LOGS

파일은 예상대로 작동하고 visudo원치 않는 명령을 통해 유효성을 검사하고 차단합니다. 그러나 sudo로 명령을 실행할 때마다 명령의 실제 출력 전에 다음 메시지가 표시됩니다.

john@appserver1:~$ sudo ls /var/log/mysql
/etc/sudoers.d/50-apps:2:51: Alias "" already defined
                     /etc/init.d/app1, /etc/init.d/app2
                                                       ^
/etc/sudoers.d/50-apps:5:40: Alias "�h6�U" already defined
                     /bin/ls /var/log/*

두 번째 줄의 쓰레기는 실행될 때마다 변경됩니다. 무엇이 문제일까요?

PS 경로 순회에 대해 알고 수정 사항을 추가했지만 이 예는 간단하게 유지하겠습니다.

답변1

이는 sudoers 파일이 두 번 포함된 경우에 발생할 수 있습니다. 이는 /etc/sudoers에 다음과 같이 동일한 의미를 가진 두 줄이 포함된 경우 발생할 수 있습니다.

    @includedir /etc/sudoers.d
    #includedir /etc/sudoers.d

이제 /etc/sudoers.d/의 모든 파일은 두 번 읽혀지며 위의 경고가 발생합니다.

관련 정보