우리(10개 서버)에는 sudoers 파일이 있습니다 /etc/sudoers.d/ops
. 때로는 이 파일에 여러 사용자와 Cmnd_Alias를 추가해야 하는 경우가 있습니다. Ansible 플레이북을 사용하여 이를 어떻게 자동화할 수 있나요?
우리의 sudoers 파일:
User_Alias OPS_USERS = user1,user2,user3
Cmnd_Alias OPS_CMD = /sbin/ifconfig, /usr/sbin/dmidecode
OPS_USERS ALL = NOPASSWD:OPS_CMD
답변1
개인적으로 저는 템플릿 모듈(협회). 다음과 유사한 템플릿을 준비하겠습니다.
User_Alias OPS_USERS = {{ 사용자|조인(', ') }} Cmnd_Alias OPS_CMD = {{ command|join(', ') }} OPS_USERS 모두 = NOPASSWD:OPS_CMD
변수에 다음과 같이 넣을 것입니다.
사용자: - "사용자 1" - "사용자 2" - "사용자 3" 주문하다: -"/sbin/ifconfig" -"/usr/sbin/dmidecode"
편집: 어쩌면 설명이 필요할 수도 있습니다.
템플릿에서는 문자열을 특정 구분 기호(','). 필터에 대한 자세한 내용을 확인할 수 있습니다.여기. 물론 연결될 문자열은 목록에서 가져옵니다.'사용자' 또는'주문하다' 스크립트의 변수 섹션에서 정의하세요.