我有一个来自外部源和远程机器的用户列表。我想从外部源获取列表并将其与我当前机器的用户列表进行比较,并为机器上不存在的每个用户创建用户。
我已经使用ansible runner(下面的伪代码)尝试了这个:
for user in users:
updateUsers(user)
这将调用 Ansible.runner 对象并进行以下调用:
ansible.runner.Runner(
pattern='tools',
forks=10,
module_name='user',
module_args="",
complex_args=OrderedDict(sorted(dict(name=name, group=group, state=state).items())),
sudo=True,
).run()
现在组和状态是全局定义的。我的问题是,当它遍历 for 循环时,它确实创建了我指定的用户;主要问题是它创建了用户,然后每个用户的主目录的权限不允许用户访问它。所以说“joeshmo”是一个用户:他将无法写入自己的 ~/ 目录。
我正在寻找一些关于我如何做到这一点的指导。剧本有没有办法动态迭代文件并获取不同的用户名以将它们作为用户添加到系统而不会出现权限错误?有没有办法修复我当前的脚本没有这些错误?
谢谢