ユーザーのパスワードを別のサーバーに移行するにはどうすればよいですか?

ユーザーのパスワードを別のサーバーに移行するにはどうすればよいですか?

古いサーバーから新しいサーバーにユーザーを移行しています。 ユーザーは数人しかいないので、アクティブなユーザーのみを移行し、その過程でグループを再編成したいので、手動で行っています。 問題が 1 つ残っています。パスワードを新しいサーバーに移行するにはどうすればよいでしょうか。 パスワード ハッシュを手動でコピーするよりも良い方法はありますか/etc/shadow

答え1

私は見つけたchpasswdツールです。-eこれを使用すると、暗号化されたパスワードを設定するユーザーのリストを受け入れることができます。まさに私が探していたものです。

答え2

手動で移行できるほどアカウント数が少ないので、ハッシュを手動で解除するのが良い方法だと思います。少なくとも私ならそうします。

答え3

まあ、そうする必要はないだろう手で. を使用するlastlogと、たとえば過去 1 年間に少なくとも 1 回はログオンしたユーザーのリストを取得し、次にgrepそれらを次のようにします/etc/shadow

  lastlog -t 365 | gawk '{print $1}' | tail -n +2 | while read n; do \
   grep -w $n /etc/shadow; done 

私の回答で説明したように、新しいサーバーでのユーザー作成を自動化することもできます。ここ

関連情報