좋아요, 질문 제목이 끔찍하다는 건 알지만 상황 자체도 그렇습니다.
내가 하고 싶은 일은:
- sudoers 구성을 포함하는 파일을 로컬로 생성합니다.
- Ansible을 사용하여 템플릿 모듈을 통해 파일을 업로드하세요.
- 템플릿 모듈의 유효성 검사 기능을 사용하여 구성이 유효한지 확인하세요.
여태까지는 그런대로 잘됐다. 이제 이상한 부분이 발생합니다. 파일의 유효성 검사( validate: 'visudo -cf %s'
)가 오류를 발생시킵니다. 유효성 검사 라인을 주석 처리하면 파일이 업로드되지만 수동 유효성 검사( visudo -cf /etc/sudoers.d/foo_bar
)도 실패합니다. vi를 사용하여 파일을 열고 :wq
변경하지 않고 저장( )한 후 다시 실행하여 성공하는지 확인합니다.
내 현재 작업 보고서: WTF? !
하지만 시간도 늦었고 피곤했어요. 누구든지 제안 사항이 있으면 알려주시기 바랍니다. 새로운 정보를 얻는 대로 이 질문을 업데이트하고 해결책을 찾은 후 정리하겠습니다.
답변1
파일에 파일 끝 개행 문자가 누락되었을 수 있습니다. sudo
이는 예상된 현상이며, visudo
누락된 파일은 확인할 수 없습니다. Vi에서 파일을 열고 저장하면 필요한 경우 끝에 줄 바꿈이 추가되어 sudo
.