私の会社は新しいサーバを購入した後、サーバルームのトップダウンアップグレードを行っています。すべてのハードウェアが変更されているので、私はベアメタルクローンツールを使用して移行することができません。 Debianのnewusers
コマンドを使用すると、古いサーバーのすべてのユーザーを一括して作成できます。/etc/shadowファイルでは、新しいシステムの関連するアカウントの2番目の列にshadow.sync(古いサーバーから)ファイルの2番目の列をコピーできます。これにより、アカウントのパスワードが新しいシステムに転送されます。しかし、私はawkを使ってプログラムを使ってこれをやる方法がわかりません(あるいは既に設定済みのシェルスクリプトに統合することができます)。Awk - カラム1(テーブル間で共通)の一致するデータに基づいてテーブル2のcoumn 2をテーブル2のcoumn 2に置き換えます。
shadow.syncには、セキュリティ上の理由からパスワードが変更された&が含まれています。これは、2番目の列のデータがINCORECT値を持つことを除いて、ほぼ同じに見える現在のシャドウファイルにコピーされるファイルです。
AN/etc/shadowファイルのフィールドの詳細な説明はhere
user1:$6$HiwQEKYDgT$xYU9F3Wv0jFWHmZxN60nFMkTqWn87RRIOvx7Epp57rOmdHN9plJgjhC.jRVVNc1.HUaqSpX/ZcCEFSn6RmQQA0:17531::0:99999:7:::
user2:$6$oOuwJtrIKk$THLsfDppLI8QVw9xEOAaIoZ90Mcz3xGukVdyWGJJqygsavtXvtJ8X9ECc0CfuGzHp0pHNSAqdZY9TAzF5YKLc.:17531::0:99999:7:::
user3:$6$IEHAyRsokQ$e5K3RicE.PUAej8IxG9GnF/SUl1NQ57pqzUVuAzsP8.89SNhuaKE1W7kG5P4hbzV23Bb2zWHx353t.e9ERSVy.:17531::0:99999:7:::
user4:$6$lFOIUQvxdb$W5ITiH/Y021xw1vo8uw6ZtIOmfKjnNnC/SttQjN85MHtLbFeQ2Th5kfAIijXC81CRG4T0kJQ3rzRNRSyQHjyb1:17531::0:99999:7:::
user5:$6$RZbtYxWiwE$lnP8.tTbs0JbLZg5FsmPR8QvrJARbcRuJi2nYm1okwjfkWPkj212mBPjVF1BTo2hVCxLGSw64Cp6DgXheacSx.:17531::0:99999:7:::
見つけることができます基本的に私は、カラム1(ユーザー名)と一致する必要が同期ファイルとshadowファイルとコピーとの間実際のシャドーファイルの同じ列の同期ファイルの上から2列目に移動します。私が900人以上のユーザーと一緒に移行している90台のサーバーがあるので、これを手作業で行うことはひどいことになります。デモンストレーション用
ランダムshadow.syncファイルを使用して生成されました:
#!/usr/bin/env python
import random, string, crypt, datetime
userList = ['user1','user2','user3','user4','user5']
dateNow = (datetime.datetime.utcnow() - datetime.datetime(1970,1,1)).days
for user in userList:
randomsalt = ''.join(random.sample(string.ascii_letters,10))
randompass = ''.join(random.sample(string.ascii_letters,10))
print("%s:%s:%s::0:99999:7:::" % (user, crypt.crypt(randompass, "$6$"+randomsalt), dateNow))
このPythonスクリプトを注意してくださいONLYデモのためではなく、実際の生産データのためでした。ユーザーがサーバーに追加されると、/ etc/shadowファイルが生成され、コマンドラインにパスワードが表示されます。 newusers
コマンドが
ポスト所望の出力と、あなたが試したいくつかのコード(いくつかの努力を示して!)。 – PesaThe
@Pesa AWKやPerlスクリプトが好きだったのですが、バルクでデータを処理する方がはるかに高速ですが、助けてくれてありがとうございました。 –