私は約400個のAIXボックスがある環境で作業しています。私はrootアクセス権を持っておらず、通常のユーザーです。この環境には、認証のためのLDAPのような一元化されたメカニズムがないため、パスワードは/etc/shadow
ファイルでのみ維持されます。
セキュリティポリシーにより、30日ごとにパスワードを変更するようになっているため、毎月すべてのボックスのパスワードを変更できないという大きな問題が発生し、ボックスごとに異なるパスワードを使用することになります。パスワードを維持することは大きな頭痛の種です。
ボックスのリストにログインしてパスワードを変更するスクリプトを記述して、すべてのボックスで毎月パスワードを変更し、同じパスワードを使用できるようにする方法はありますか?
1つのアプローチは、pssh
のようなコマンドを使用して、複数のシステム間で同時にsshを並行して実行することです。
このようなコマンドで十分です。
$ pssh -h ~/pssh-hosts 'printf "%s\n" old_pass new_pass new_pass | passwd'
これにより、次のコマンドが実行されます。
printf "%s\n" old_pass new_pass new_pass | passwd
パスワードを「変更」します。 pssh
コマンド:
$ pssh -h ~/pssh-hosts '... commmands to run ...'
ファイル内のホストのリスト全体でこのコマンドを実行します~/pssh-hosts
すべて同時に並行して。
このチュートリアルでは、pssh
の動作例をいくつか示します: pssh HOWTO 。 pssh
コマンドには、複数のシステム間でファイルを並行してコピーするためのpscp
などの他のコマンドもあります。
pssh
と同じ無駄に、 sshpt
があります。 pssh
と同様に機能しますが、別のオプションです。
これら2つ以外にもたくさんのオプションがあります。このServerFaultQ&Aにリストされているそれらの詳細を見ることができます: 優れた最新の並列SSHツールは何ですか? 。