次のファイルがあります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)
。ただし、サーバー構成が次の場合にのみ可能です。リモートホストは環境でこれを許可します。この変数名を渡しますが、多くのシステムではデフォルトではこれを行いません。
答え2
pssh
~/.ssh/config ファイルを読みます。 OpenSSH 5.6+を使用している場合は、構成ファイルのオプションとしてユーザーを指定する必要があります。%h
OpenSSH 5.6以降に拡張されるホスト名。このコードスニペットを使用すると、常にホスト名という名前のユーザーを使用できます。
host*
User %h
すべてのサーバーに常にホスト名を付けたユーザーがいる場合は、次のものを使用できます。
*
User %h
以前のバージョンのOpenSSH(更新が必要)を使用している場合は、次のようにホストユーザーを手動で指定できます。
host1
User host1
host2
User host2
...