cmnd 별칭을 추가할 때 라인 1 근처에서 sudoers 구문 오류가 발생합니다.

cmnd 별칭을 추가할 때 라인 1 근처에서 sudoers 구문 오류가 발생합니다.

sudoers.d 디렉토리에 있는 sudoers 파일을 수정하여 다음과 같은 그룹을 허용하려고 합니다.SWTS"자동화 작업의 일부로 cp 및 chown을 실행합니다. 이를 달성하기 위해 아래와 같이 Cmnd_Alias를 생성하고 다음 이름의 파일에 저장했습니다 /etc/sudoers.d/00-cmds-swts.

Cmnd_Alias SWTS_COMMANDS = /usr/bin/cp -r * /home/bbc/leo/BQD*, /bin/chown -R bbc:bbc /home/bbc/leo/BQD*

그러나 visudo를 사용하여 파일을 편집하고 저장하려고 하면 다음 오류가 발생합니다.

>>> 00-cmds-qa: syntax error near line 1 <<<

내가 무엇을 놓치고 있는지 잘 모르겠습니다. cp 명령의 소스와 관련이 있습니까?

/etc/sudoers.conf/swts-users나는 그 아래에 다음 내용이 포함된 다른 파일에서 명령 별칭을 사용하게 되었습니다 .

%swts ALL=(bbc:bbc) NOPASSWD: SWTS_COMMANDS

답변1

명령에서 파일의 특수 문자를 사용하는 경우 :해당 문자를 이스케이프해야 한다는 것을 알았습니다. sudoers따라서 내 예에서 문제가 되는 부분은 명령 :의 부분 입니다 chown.

/bin/chown -R bbc:bbc /home/bbc/leo/BQD*

아래의 것으로 교체했는데 작동했습니다.

/bin/chown -R bbc\:bbc /home/bbc/leo/BQD*

관련 정보