外部ソースとリモート マシンからのユーザーのリストがあります。外部ソースからリストを取得し、それを現在のマシンのユーザー リストと比較して、マシンに存在しないユーザーごとにユーザーを作成したいと考えています。
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」がユーザーだったとします。彼は自分の ~/ ディレクトリに書き込むことができません。
私はこれをどのように行っているかについてのガイダンスを探しています。Playbook を使用して、ファイルを動的に反復処理し、さまざまなユーザー名を取得して、アクセス許可エラーなしでユーザーとしてシステムに追加する方法はありますか? これらのエラーが発生しないように現在のスクリプトを修正する方法はありますか?
ありがとうございました