web-dev-qa-db-ja.com

現在のユーザー/パスワードをbashで表示するにはどうすればよいですか?

現在、Windows上のUbuntuにBashをインストールしています。

私はBashをインストールして、ユーザーを通常どおりにセットアップしました。すべてうまくいきましたが、すべてのコマンドでSudoを使い続けたくありませんでした。アンインストールしてから「Wwindows上のUbuntu上のBash」を再インストールしました

lxrun /install /y

ユーザー名は保存されましたが、以前のパスワードは保存されませんでした。使用しているユーザーの現在のパスワードを表示しようとしています。

Bashでユーザーのパスワードを表示するにはどうすればよいですか?

7
Joseph Palacio

OSユーザーのパスワードを確認することはできません。パスワードは ハッシュ 形式で保存されます。あなたはあなたが1つの権利を知っているかどうかだけを確認できます。これはセキュリティ上の脅威になるだけでなく、パスワードも定期的に変更する必要があります。そして、新しいものは古いものにあまり似てはいけません。しかし、家庭環境では(プロ環境とは対照的に)、コマンドラインでこれに煩わされるべきではありません。

7
user147505

実際にはできません。パスワードはハッシュ化されており、一方向でしかデコードされません。

要約すると、ログインしようとするたびに想像すると、次のようになります

if hash( 'password' currentHash;)==

do grantAccess();

パスワードを保存するたびに

* hashedPass = hash( 'password');

writeOnShadowFile( 'hashedPass')*

これは、ハッシュのセキュリティ標準によるもので、実際のパスワードを保存するのではなく、関数の結果を保存して、その方法で評価します。ハッシュ関数は、データ損失を伴う元の値変換の多くを行うことを目的としており、データ損失により、元のパスワードを知ることはほとんど不可能になります。

sermod -p <password> <user>またはpasswd <user>で簡単にパスワードを変更できます

4
WalterCool

できません!正当な理由があります。これは大きなセキュリティ上の欠陥になります。パスワードはpasswdコマンドで変更できます(man passwd)。

Rootの場合、すべてのユーザーのパスワードを変更できます。

2
maulinglawns