사용자 동기화

사용자 동기화

/etc/shadow내 주 서버의 , /etc/passwd, /etc/gshadow및 을 동기화할 수 있는 방법이 있습니까 /etc/group?

userdel사용자가 1000명이 넘는데 이들을 순환하는 것이 번거롭습니다 useradd.

이 파일들을 개인 저장소에 넣고 wget. /etc/passwd및 의 내용을 바꾸는 /etc/group것은 가능하지만 함께 제공되면 /etc/shadow공백 /etc/shadow으로 표시되고 시스템이 손상됩니다.

가능한 한 LDAP나 기타 제3자를 사용하고 싶지 않습니다. Debian 9를 사용하여 LDAP 튜토리얼을 검색해 보았지만 오래된 튜토리얼이 표시되고 어떻게 작동하는지조차 모릅니다. 내가 아는 것은 adduser슬레이브 서버에 인증하려면 시스템에 액세스해야 한다는 것뿐입니다.

네 개의 파일을 대체하는 watch명령이 포함된 command를 사용하여 쉘 스크립트를 실행하고 있습니다 .wget

답변1

한 가지 옵션은 다음과 같습니다.앤세이블[1]이 파일을 사용할 수 있도록 설정주인그리고마디. 나는 배우고있다안시푸르최근에는 지금까지 배운 내용을 적용하고 있습니다.

당신이 가지고 있다고 말해주인, 그리고Node_1..Node_n그리고주인최신 문서가 있습니다.

물론 설치를 하셔야 합니다안시푸르당신의주인노드에 SSH로 접속할 수 있는 것주인.

먼저 다음과 같은 호스트 파일을 만듭니다.ansible_host다음과 같습니다. [원하는 만큼 많은 노드를 추가하고 자신의 호스트 이름을 사용할 수 있음을 나타내려면 타원을 사용하십시오.]

[sync_nodes]
node_1.example.local
node_2.example.local
...

그런 다음 다음과 같은 파일을 만듭니다.비밀번호.yml 동기화, 좋다:

---
 - hosts: sync_nodes
   tasks:
     - name: Copy file from master to {{ item }}
       include_tasks: copy_tasks.yml
       with_items:
         - "{{ groups['sync_nodes'] }}"

그런 다음 copy_tasks.yml에서:

---
 - name: Copy /etc/passwd
   copy: src=/etc/passwd dest=/etc/passwd

 - name: Copy /etc/passwd
   copy: src=/etc/group dest=/etc/groups

그런 다음 명령 프롬프트에서 다음을 수행합니다.

  ansible-playbook -i ansible_hosts ./sync_pw.yml

주의:

  1. 모든 노드에 대해 sudo 권한이 필요합니다. [MODULE FAILURE 오류의 영향을 받음]
  2. Python은 원격으로 존재해야 합니다.

[1]-https://www.ansible.com/community

관련 정보