パスワードが設定されているかどうかを確認するにはどうすればよいですか?


18

私はこのサーバーを数ヶ月使用しています。最初に管理者に公開sshキーを送信し、彼がアカウントを設定しました。ログインにはsshキーのみを使用しました。最初はパスワードがありませんでした。

それ以来、を使用してパスワードを設定する場合と設定しない場合がありますpasswd。今使用している場合、passwdこれが表示されます。

$ passwd
Changing password for user myusername.
Changing password for myusername.
(current) UNIX password:

私はパスワードを持っていることを示唆しているように見えますが、これを行ったことの記憶はありません。

パスワードが設定されているかどうかを最終的に判断するにはどうすればよいですか?

編集:
パスワードが何であるかわからないため、ログインもパスワードの変更もできません(空白のパスワードは機能しません)。ディストリビューションはFedoraリリース20(Heisenbug)です。


パスワードなしで(そしてもちろんssh秘密鍵なしで)ログインしてみてください。
ディディエック

パスワードがわからず、ブランクが機能しないため、ログインできません。この情報を元の質問に追加しました。
天井猫

1
ログインコンソールでは、空白のパスワードはパスワードなしと同じです。
ディディエック

アカウントにパスワードが設定されていない場合でも、このパスワードプロンプトが表示されます。パスワードが設定されていない場合は、入力passwd内容に関係なく間違ったパスワードが表示されます。
ジル「SO-悪であるのをやめる」

ローカルシャドウパスワードを使用するバニラFedora 20ではpasswd、現在のパスワードがない場合、現在のパスワードを要求しないことを確認しました。チェックする別の方法は、次のように入力することsu myusernameです。パスワードがない場合、パスワードを要求しません。ただし、システム管理者は、たとえばnullokpam_unixエントリからオプションを削除することにより、これらのいずれかをオーバーライドできます/etc/pam.d/*
マークプロトニック

回答:


30

最善の方法は、次のコマンドを使用することです。

passwd --status username

男からpasswd

アカウントステータス情報を表示します。ステータス情報は7つのフィールドで構成されています。最初のフィールドはユーザーのログイン名です。2番目のフィールドは、ユーザーアカウントにロックされたパスワード(L)、パスワードなし(NP)、または使用可能なパスワード(P)があるかどうかを示します。3番目のフィールドは、最後のパスワード変更の日付を示します。次の4つのフィールドは、パスワードの最小有効期間、最大有効期間、警告期間、および非アクティブ期間です。これらの年齢は日数で表されます。

したがって、2番目の出力フィールドがのNP場合、そのユーザーにはパスワードが設定されていません。


私が得た$ passwd --status Only root can do that.
天井猫

この場合、を試してくださいsudo passwd username --status
ジェラン

入手しました$ sudo passwd myusername --status [sudo] password for myusername:が、パスワードがわからないため、続行できません。
天井猫

私は私の元のコマンドをテストし、特別なパーマなしで細かい新しく作成したユーザーで動作するはずです:$ passwd --status testリターンtest P 02/15/2015 0 99999 7 -1
ジェラン

奇妙な。管理者が非標準的な方法で設定しているかどうか疑問に思っています。
天井猫

4

これは2つの簡単な方法でテストできます。

  1. root typeとしてパスワードを変更した直後loginに、ログイン/パスワードプロンプトが表示されます。

  2. システムの確率に応じて、シャドウパスワードを使用しています。そのためのファイルは、/etc/shawdowそのファイルを調べて、アカウントに変更があるかどうかを確認できます。

パスコードが設定されていないアカウントの例を次に示します。

postgres: :16462:0:99999:7:::

パスワードを持つユーザーの場合、次のようになります。

dustin:$6$TQ8e8o92$T9KWfcEVeIpDytW/zSAZzM4512wd/DiiuaYwrYWheH3LYpOsISdRxrCLvPqJZZ66QqdetmaV0ALQohx8nQPFKK0:16425:0:99999:7:::

間の通知: :は暗号化されたパスワードであり、postgresアカウントには何もありませんでした


#1については、パスワードを変更できません。パスワードが何なのかわからないからです。空白を入れると、が表示されますpasswd: Authentication token manipulation error。#2にはありません/etc/shawdow。があります/etc/shadowが、許可は000です。(これが重要かどうかはわかりません)Fedoraリリース20(Heisenbug)があることを忘れていました。おそらく、これらの情報を元の質問に入れるべきでした。
天井猫

トークンエラーは、間違った権限に起因する傾向があります。あなたはシングルユーザーモードですか?起動したときは通常の起動でしたか?また、タイプ「マウント」だけをチェックするには、すべてのものがrw(読み取りおよび書き込み)としてマウントされていることを確認する必要があります
ダスティンハーグローブ

また、それは間違った許可です、これはどんなディストリビューションですか?
ダスティンハーグローブ

サーバーがシングルユーザーモードにあるとは思わない。まだssh資格情報を使用してログインでき、で他のユーザーを見ることができますwho。にリストされているものmountはすべてとしてリストされていrwます。DistroはFedoraリリース20(Heisenbug)です。
天井猫

1

次を使用してみてください。

passwd -S

passwd(1)のmanページから次のように読みました:

-S 指定されたアカウントのパスワードステータスを報告します。最初の部分は、ユーザーアカウントがロックされている(LK)か、パスワードがない(NP)か、既存のパスワードまたはロックされたパスワード(PS)があるかを示します。2番目の部分は、最後のパスワード変更の日付を示します。次の部分は、パスワードの最低年齢、最高年齢、警告期間、および非アクティブ期間です。


0

/ etc / passwdファイルを確認することもできます。ユーザーの2番目のフィールドはパスワードを示します。何もない場合は、ログイン用のパスワードがない可能性があります。一方、このフィールドにxがある場合、それに関連付けられたパスワードがあり、/ etc / shadowファイルにある可能性があります


ありがとう!xがあります。パスワードを持っていると思います。/etc/shadowただし、ファイルはありません。
天井猫

1
@ceilingcatが表示された場合x、パスワードが設定されているかどうかは何もわかりません。調べる必要があります/etc/shadow(rootである必要があります)。
ジル 'SO-悪であるのをやめる'
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.