申し訳ありませんが、私はLinuxの初心者です。事前に定義された暗号化パスワードを使用して、Debianで新しいユーザーアカウントを作成する方法についての情報を探しています。
私はbashに関数を持っています。新しいユーザーのIDが/ etc/passwdファイルに表示されていない場合は、bashコマンドを実行します。
adduser -m -p <encrypted-password> <username>
これまでのところ良好ですが、ユーザー名とパスワードを含むすべてのデータはJSON出力に保存され、ユーザーのパスワードは(セキュリティ上の理由から)SHA-512によってすでにハッシュされています。ユーザーのパスワードはPHPスクリプトによって暗号化され、JSONに送信されます。
$hashed_password = crypt('Test007', '$6$rounds=5000$StJ.1Wji$');
echo looks like this: $6$rounds=5000$StJ.1Wji$cm6ZVl.XoIiQXaJAVHkqiteUGAqZoJ1Ee3dpHP2a6x6rG/kHg4k7ucMLrzHCvQA1TpQYP4eKnoFITVGcviqjU0
Adduser関数の後、/etc/shadow
ファイル、ハッシュされたパスワードがPHPによって生成された元のパスワードとは異なり、もちろんプレーンテキストでそのパスワードを使用して新しいユーザーにログインすることはできません(プレーンテキストで知っている場合でも)テキスト)。
簡単な方法はありますか、事前に定義された暗号化されたパスワードでユーザーアカウントを作成する方法はありますか? Linuxのuseradd関数が受け入れるハッシュ化パスワードを生成するにはどうすればよいですか?インターネットで解決策を見つけることができません。
先頭の$6$rounds=5000
以外は adduser
に渡される値全体が有効なハッシュでなければならないため、その$6
はおそらく問題の一部です。また(スクリプトフラグメントでは明らかではありません)、パラメーターの展開を回避するために、値を引用符で囲む必要があります。
adduser -m -p '$6$gehr8sgkkX$lMZ5bmb7c4HY76pnn0uUXA5wH51YE0Byp4rIfcA94gWrVvfeNVQsMwoW2erVuxzFScxRvaHOLFMqVSYCjVlTV/' oneshot
私はmkpasswdを使用して値を取得しました シャドウ用にSHA-512ハッシュされたパスワードを作成する方法?
ここで簡単に確認すると、/etc/shadow
に格納されている値は、adduserの実行時に使用した値と一致しています。