有没有可能的方法来同步我的主服务器的/etc/shadow
、/etc/passwd
、/etc/gshadow
和/etc/group
?
userdel
我有 1000 多个用户,循环起来很麻烦useradd
。
我尝试将这些文件放入我的个人存储中并使用wget
来获取。替换/etc/passwd
和的内容/etc/group
是可能的,但是当它附带时/etc/shadow
,/etc/shadow
它显示空白并损坏了我的系统。
我尽可能不想使用 LDAP 或任何其他第三方。我尝试使用 Debian 9 搜索 LDAP 教程,但它显示的是旧教程,我什至不知道它是如何工作的。我所知道的是,我需要adduser
先访问系统,然后才能对我的从属服务器进行身份验证。
我正在使用watch
命令执行 shell 脚本,其中包含wget
替换四个文件的命令。
答案1
一种选择是设置安塞布尔[1]使这些文件在掌握和节点。我一直在学习安西布尔最近,所以我只是应用迄今为止所学到的知识。
说你有掌握, 和节点_1..节点_n和掌握有最新的文件。
当然,你需要安装安西布尔在你的掌握以及能够通过 ssh 到节点掌握。
首先,创建一个主机文件,例如ansible_主机像这样:[使用省略号表示您可以添加您喜欢的节点数量,并使用您自己的主机名]
[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
要注意:
- 您需要在所有节点上使用 sudo 权限。 [因 MODULE FAILURE 错误而受到影响]
- python 需要存在于远程。