以下の内容を見ることができます/etc/shadow
。ルートパスワードのハッシュアルゴリズムはmd5ですが、テストユーザーのハッシュアルゴリズムはsha512です。
root:$1$RjnJa1j6$.HbXUfxVzGSSAgSvz52Zm1:19251:0:99999:7:::
.
.
.
test:$6$6myiVypQtv/A31gF$totJgATLtEnHGHNuDdgRDVyhAOoI3s1xYQ5Cw1DqhjQ4UKC.brqRGSP/GMJ.KpZ079Rqm6KaPG6IhoiwocELY1:0:0:99999:7:::
次の設定を確認しました/etc/login.defs
。
ENCRYPT_METHOD SHA512
そして/etc/pam.d/system-auth
:
password sufficient pam_unix.so nullok sha512 shadow try_first_pass try_authtok
どちらのファイルもアルゴリズムがsha512に設定されていますが、なぜルートのmd5ですか?
コマンドを使わずにルートのデフォルトパスワードハッシュアルゴリズムをsha512に設定できますかpasswd
?
ありがとうございます!
答え1
最初の質問に対する答えはおそらくレガシーシステムです。以前のシステムは何度も更新され、元のバージョンとmd5
現在のバージョンが使用されるため、sha
更新中にパスワードは変更されません(次の段落を参照)。
ハッシュは定義に従って暗号化の形式であるため、あるハッシュを別のハッシュに変換することはできません。したがって、プレーンテキストがわからないので(暗号化されたパスワードを使用するときも塩が使用されます)、root
パスワードのハッシュを(簡単に)生成することはできません。
コメントで述べたように:使用passwd
答え2
passwdコマンドを使用せずにアルゴリズムsha512にrootデフォルトのパスワードを設定できますか?
理論的には、デイジーチェーンを介してハッシュを「変換」することが可能です。
したがって、古いハッシュの新しいハッシュを保存しますが、この時点では元のプレーンテキストパスワードを知らず、新しいハッシュを保存します。したがって、指定されたパスワードを確認するには、新しいハッシュとパスワードを直接確認するのではなく、まず古いハッシュを計算してから、古いハッシュと新しいハッシュを確認する必要があります。
一部のWebアプリケーションは、何らかの方法で無塩のmd5ハッシュを移行する必要がある場合にこの方法を使用します。長年にわたって再度ログインしていない(しばしば古い)、電子メールアドレスを介して連絡できないユーザーが多いことを検討してください。
したがって、理論的にはユーザーパスワードに対して同じ機能を達成することは可能ですが、それがどこにあるのかわかりません。これは少し難解で、それほど価値はありません。
新しいパスワードを設定してください。ハッシュ/ソルトを設定するたびにプレーンテキストのパスワードが同じままであっても、新しいハッシュ/ソルトが得られます。
答え3
Linuxでデフォルトのルートアルゴリズムをsha512に設定するには?
一方では、これはLinuxディストリビューションに限定されているかもしれませんが、より重要なのはバージョンに限定されているかもしれません。 Googleによると、SHA512は2001年に導入されました。私の質問はどのLinuxディストリビューションとバージョンを使用していますか? RHEL 7.9では、私のルートパスワードは次のとおりです。SHA512'd私のすべてのユーザーアカウントと同じです。
https://man7.org/linux/man-pages/man5/login.defs.5.html
ENCRYPT_METHOD - グループパスワードの生成にのみ影響します。ユーザーパスワードの生成はPAMによって行われ、PAM構成によって異なります。この変数はPAM構成と一致するように設定することをお勧めします。
MD5_CRYPT_ENAB - この変数は廃止されました。 ENCRYPT_METHODを使用する必要があります。 最新のLinuxディストリビューションを実行している場合は、使用されなくなる可能性が高くなります。
一方、最新のLinuxディストリビューションを実行していて、ルートパスワードが$1$
IDに基づいてMD5ハッシュされ、/etc/shadow
他のパスワードがIDに基づいてSHA512暗号化されている$6
場合、これはセキュリティ上の危険です。
sha512
in設定は、生成する後続のハッシュをコマンドにpam.d
通知しますpasswd
。これは現在のハッシュから完全に独立しています/etc/shadow
。その権限を持っている人は誰でもrootパスワードや他のパスワードを作成でき、現在pamで指定されていないすべての種類のハッシュを持つことができますsystem-auth
。password-auth
login.defs
デフォルトでは、ファイルがpam.d
SHA512を指定していることを確認する必要があります。$6$
/etc/shadow