Linuxでadduser機能にハッシュされたパスワードを使用する

Linuxでadduser機能にハッシュされたパスワードを使用する

申し訳ありません。私は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機能で許可されているハッシュパスワードを生成する方法は?インターネット上の解決策が見つかりません。

答え1

前の値を除く値全体が次に渡されるため、これは$6$rounds=5000問題の一部である可能性があります。$6adduser有効なハッシュでなければなりません。また(スクリプトフラグメントでは不明です)、パラメータの拡張を防ぐために値を引用する必要があります。例:

adduser -m -p '$6$gehr8sgkkX$lMZ5bmb7c4HY76pnn0uUXA5wH51YE0Byp4rIfcA94gWrVvfeNVQsMwoW2erVuxzFScxRvaHOLFMqVSYCjVlTV/' oneshot

mkpasswdを使用して提案された値を取得します。シャドウ用のSHA-512ハッシュパスワードを生成するには?

ここで簡単に確認すると、保存された値は/etc/shadowadduserを実行したときに使用した値と一致します。

関連情報