ansible을 통해 sudoers.d 파일을 업로드하면 구문 오류가 발생하지만 vi에서 열고 저장하면 문제가 해결됩니다.

ansible을 통해 sudoers.d 파일을 업로드하면 구문 오류가 발생하지만 vi에서 열고 저장하면 문제가 해결됩니다.

좋아요, 질문 제목이 끔찍하다는 건 알지만 상황 자체도 그렇습니다.

내가 하고 싶은 일은:

  1. sudoers 구성을 포함하는 파일을 로컬로 생성합니다.
  2. Ansible을 사용하여 템플릿 모듈을 통해 파일을 업로드하세요.
  3. 템플릿 모듈의 유효성 검사 기능을 사용하여 구성이 유효한지 확인하세요.

여태까지는 그런대로 잘됐다. 이제 이상한 부분이 발생합니다. 파일의 유효성 검사( validate: 'visudo -cf %s')가 오류를 발생시킵니다. 유효성 검사 라인을 주석 처리하면 파일이 업로드되지만 수동 유효성 검사( visudo -cf /etc/sudoers.d/foo_bar)도 실패합니다. vi를 사용하여 파일을 열고 :wq변경하지 않고 저장( )한 후 다시 실행하여 성공하는지 확인합니다.

내 현재 작업 보고서: WTF? !

하지만 시간도 늦었고 피곤했어요. 누구든지 제안 사항이 있으면 알려주시기 바랍니다. 새로운 정보를 얻는 대로 이 질문을 업데이트하고 해결책을 찾은 후 정리하겠습니다.

답변1

파일에 파일 끝 개행 문자가 누락되었을 수 있습니다. sudo이는 예상된 현상이며, visudo누락된 파일은 확인할 수 없습니다. Vi에서 파일을 열고 저장하면 필요한 경우 끝에 줄 바꿈이 추가되어 sudo.

관련 정보