unix "passwd"コマンドに入力された新しいパスワードを表示

unix "passwd"コマンドに入力された新しいパスワードを表示

実行可能ですか?パスワード新しく入力したパスワードを表示するオプションがあるコマンド?デフォルトでは、私が入力したものは表示されず、それをしたくありません。

[dave@hal9000 ~]$ passwd 
Changing password for user dave.
Changing password for dave.
(current) UNIX password: 
New password: bowman
Retype new password: bowman
passwd: all authentication tokens updated successfully.

答え1

本当にこの道を行きたかったけどまだ行けなかったらパスワードパラメータ、これを使用できます予想されるスクリプト:

#!/usr/bin/env expect -f
set old_timeout $timeout
set timeout -1

stty -echo
send_user "Current password: "
expect_user -re "(.*)\n"
set old_password $expect_out(1,string)

stty echo
send_user "\nNew password: "
expect_user -re "(.*)\n"
set new_password $expect_out(1,string)

set timeout $old_timeout
spawn passwd
expect "password:"
send "$old_password\r"
expect "password:"
send "$new_password\r"
expect "password:"
send "$new_password\r"
expect eof

仕組み:

[dave@hal9000 ~]$ ./passwd.tcl
Current password: 
New password: bowman
spawn passwd
Changing password for user dave.
Changing password for dave.
(current) UNIX password: 
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.

このシェルスクリプトも機能します(bash-4.2.47-2とpasswd-0.79-2を使用してFedora 20でテスト済み)。

#!/bin/sh
stty -echo
echo -n "Current password: "
read old_password

stty echo
echo
echo -n "New password: "
read new_password

passwd << EOF
$old_password
$new_password
$new_password
EOF

仕組み:

[dave@hal9000 ~]$ ./passwd.sh
Current password: 
New password: bowman
Changing password for user dave.
Changing password for dave.
(current) UNIX password: New password: Retype new password: passwd: all authentication tokens updated successfully.

答え2

正確に何を見たいのかわからない。自分のパスワードは何ですか?他の人?

あなたのパスワードはハッシュされているので、オペレーティングシステムでも知らなかったことを覚えています。シャドウファイルからパスワードを消去してパスワードを効果的に空にしてから(通常は別のブートディスクから起動して)、パスワードを再入力できますが、実際のパスワードを盗むにはハッシュ文字列を復号化する必要があります。またはこれに似たもの。ダイナミクスはGoogle fuに任せます。

つまり、キーストロークを傍受または記録しないと、パスワードを検索できません。ただし、ドライブ(またはイメージ)に物理的にアクセスできる場合は、パスワードを削除できます。

編集:ああ、入力したときに表示される内容を明確にしました。繰り返しますが、いいえ、私が知っているバージョンにはありません。私はこれが肩越しにサーフィンやタイピング中にリモートでモニターを見るのを防ぐためのものだと思います。

この問題を回避するには(たとえば、GUIを使用している場合)、テキスト文字列を切り取り、プロンプトに貼り付けることができます。しかし、通常、これは面倒です。テキストをエコーし​​たい理由によって異なります。入力した内容が表示されたら、パスワードを2回入力する理由は、ミスを減らすためにパスワードを再入力することです。

Linuxバージョンの仕組みに応じて、パスワード文字列を直接ハッシュし、結果のハッシュをシャドウファイルに供給してみることができるようです。奇妙な回避策ですが、動作する可能性があります。あるいは、他のシステム/データベースに対して認証するPAMモジュールがあり、それをより直接的に変更できる奇妙な回避策を見つけることもできます。しかし、セキュリティの観点からは、何らかの段階でプレーンテキストを介してパスワードが漏洩すると、問題が発生する可能性があります。どのくらいのリスクを負うかを決定する必要があります。

関連情報