チーム、私たちは複数のホストのパスワードをリセットするために90日ごとに特定の活動を行います。今私のクエリは次のようになります。
私のパスワードに特殊文字が含まれています。ファイル内の既存のパスワードを見つけて、同じホスト上の他のtxtファイルに記載されている値に置き換えるのに役立つミニシェルスクリプトはありますか?
たとえば、oldfile.txt(ファイルのどこにでも古いパスワードを含む)
newfile.properties(oldfile.txtのパスワードを置き換える新しいパスワードを含む)
各パスワード文字列値をエスケープするのは非常に難しい作業であることがわかります。上記のように新しいファイルから古いファイルに転送する方法はありますか?
ありがとう、
答え1
使用chpasswd
。 1つ以上の行を含む標準入力を読み取り、username:password
それに応じてそのユーザー名のパスワードを変更します。
パスワードが暗号化されていない場合は暗号化されます。
chpasswd
-e
このオプションは、パスワードが暗号化されている場合に便利です。 (強くお勧めします。パスワードをプレーンテキストとして保存することは決して良い考えではありません。)
sed
他のawk
便利なツール/スクリプト言語を使用して、perl
ユーザー名とパスワードを必要な形式で出力できます。username:password
chpasswd
man chpasswd
詳細は参照してください。