私たちは300以上のAIXサーバーを持っています。私たちは、これらすべてのサーバーのユーザーのローカルIDを作成します。これで、ユーザーは自分の資格情報が有効であることを確認するためにすべてのサーバーに手動でログインする必要があります。したがって、ユーザーが特定のユーザーIDとパスワードを使用してログインできるかどうかを識別する方法/スクリプトはありますか? Googleを試してみましたが、結果はありません。この要件を助けてください。
答え1
確認するには:与えられたパスワードをテストする方法は言いません。私は管理者がそのようなテストを送信するために他のユーザーのパスワードを知る必要があるとは思わない。ただし、ユーザーまたはパスワードを設定したことがないすべてのユーザーを見つけるのに役立ちます。
システム管理者(ルートとも呼ばれる)として、次のことを試すことができます。
#!/usr/bin/ksh
## pwdchkUser
# Author: Michael Felt and AIXTOOLS, 2016
# example program for checking a single username on a list of hosts
# check user on all hosts listed, line by line in test1.txt
user=$1
cat test1.txt | while read host; do
ssh root@${host} "(/usr/bin/grep -p ${user}: /etc/security/passwd \
| grep lastupdate 2>&1 >/dev/null \
|| print $user@host has never set a password)"
done
#!/usr/bin/ksh
## pwdchkUsers
# Author: Michael Felt and AIXTOOLS, 2016
# example program to find all users that have never set a password
# the 'test' is that the keyword 'lastupdate' is missing from the user entry
# /etc/security/passwd stanza
host=$1
print "On ${host} the following usernames are known, but have not changed their password"
ssh root@$host '/usr/bin/grep -vp lastupdate /etc/security/passwd \
| egrep ":$" | cut -d: -f 1'
ps "google"スクリプトで見つかったすべてのエラーについては議論しません。残念ながら、「googleで取得しました」と述べたsshコマンドの構文エラーを認識しません。確かにSEを通してではありません!
あなたのソリューションは2つの部分で構成されています。 a)認証用のスクリプト(ユーザーとは異なるものが存在する必要があります - これはあなたの質問に従って提供されます) - 一度これがあればパート2 b)dsh(分散シェル)の設定と使用
どちらも準備ができたら使用できます。
dcp script /some/great/script # copy to all servers in dsh domain
ユーザーは次のものを使用できます。
dsh /some/great/script
複数のサーバーで並列にコマンドを実行する
注:コマンドを実行するサーバーを選択する方法はいくつかあります。たとえば、次のようになります。
dsh -n host1,host2,host7 /some/great/script
a) 部分の詳細を理解するのに役立つことはできませんが、情報が不十分です。この記事がb)の部分を理解するのに役立つことを願っています。http://www.rootvg.net/content/view/634/88/
ps 考慮すべきもう一つのことは、実行するコマンドです。ユーザーを作成できるため、ユーザーが表示できないことを確認できます。
grep ^$username:!: /etc/passwd
そして
/usr/bin/grep -p "flags = ADMCHG" /etc/security/passwd | grep -v password
username:
flags = ADMCHG
lastupdate = 1416221835
説明する: ^ユーザー名:*:パスワードがないためログインできないユーザーを示します。^ユーザー名:!:ユーザー/パスワード認証用のシャドウパスワードファイルにエントリがあることを示します(またはシャドウファイルにパスワードは必要ありません)。
/etc/security/password - シャドウファイルの場合ロゴ == ADMCHG、パスワードがありますが、システムを維持するには、ユーザーはパスワードを変更する必要があります。オペレーティングシステムの資格情報を使用し、パスワードを変更できない、または変更できない一部のプログラムは単に終了します。