各ホストに対して異なるパラメータを渡すpssh(パラレルSSH)

各ホストに対して異なるパラメータを渡すpssh(パラレルSSH)

次のファイルがありますhosts

host1
host2
host3
host4
.....

このシステムには、machinename というローカルユーザーもあります。 host1ユーザーはhost1ホストなどに作成されます。

すべてのコンピュータでこれらのすべてのユーザーアカウントをロックする方法はありますか?

私が使っていたものが正しく動作しないようです。

pssh -h hosts -l root -i passwd -l hostname |cut -d. -f1

このコマンドを使用して、各ホスト名に対応する各ユーザーアカウントをロックしたいと思います。

私の言葉がどういう意味か理解してください。

ありがとうございます!

ベストアンサー1

HOSTNAMEホストを決定する変数を使用して、リモートホストからコマンドを構築します。

pssh -h hosts -l root -i 'passwd -l "$(hostname)"'

これは、ロックされたユーザーアカウントの名前がシステムが考える名前であると仮定します。 SSH設定で別名を使用し、コンピュータの物理ホスト名の代わりにコマンドで別名を使用したい場合、またはホスト名がDNSホスト名と異なる場合は代わりに$PSSH_HOST使用できます$(hostname)。ただし、サーバー構成が次の場合にのみ可能です。リモートホストは環境でこれを許可します。この変数名を渡しますが、多くのシステムではデフォルトではこれを行いません。

おすすめ記事