rootパスワード(ログイン)が無効になっているかどうかを確認するにはどうすればよいですか?


10

誤ってrootパスワードを有効化(設定)しました(デフォルトではロックされています)。今、それを「取り消し」たいと思います。両方のコマンドを使用しました

sudo usermod -p '!' root

そして

sudo passwd -dl root

その順序で。

rootのアカウントがロックされているかどうかを確認するにはどうすればよいですか?

回答:


18

passwd次のコマンドを使用できます。

# passwd -S
root P 11/04/2014 -1 -1 -1 -1
# passwd -l root
passwd: password expiry information changed.
# passwd -S 
root L 11/04/2014 -1 -1 -1 -1
# passwd -d root
passwd: password expiry information changed.
# passwd -S 
root NP 11/04/2014 -1 -1 -1 -1

からman 1 passwd

   -S, --status
       Display account status information. The status information consists
       of 7 fields. The first field is the user's login name. The second
       field indicates if the user account has a locked password (L), has
       no password (NP), or has a usable password (P). The third field
       gives the date of the last password change. The next four fields
       are the minimum age, maximum age, warning period, and inactivity
       period for the password. These ages are expressed in days.

表示されるデータ/etc/shadowは、暗号化されたパスワードを保持するファイルであるに保存されます。

たとえば、上記の各passwdコマンドの後の状態は次のとおりです。

1:root:$6$............long hash...............::::::
1:root:!$6$........same long hash.............:16478::::::
1:root::16478::::::

5

1つの可能性は、次のように入力して/ etc / passwdを調べることです。

grep root /etc/passwd

root:x: ......xは、暗号化されたパスワードがシャドウファイルに格納されていることを示しているような行で始まるはずです。この場合は、次のコマンドを実行して調べます。

sudo grep root /etc/shadow

(shadowファイルのニーズがオープンするSUDO!)あなたは、結果として、次のように始まる行を取得する必要や、アカウントを無効になっていることを示す信号ます。afterの他の値(!または*で始まっていない)は、有効なパスワードを示します。root:!: ......!*root:


ありがとう、でも私はただ不思議に思っています、その情報を含むファイルはありますか?
2015

少し調べて、回答に別の部分を追加し、パスワードが格納されているファイルに、希望どおりにアクセスしました。
バイトコマンダー

私はあなたの最初の提案を試しました、そしてそれは間違っています、sudoはまだユーザーパスワードを使用しています。編集された段落の作品、つまり私が探していた情報
nobru

データのソースは man passwd.5andman shadow.5
セルゲイG

0

簡単です。

Ctrl + Alt + F1を押します。これにより、別のターミナルが表示されます。ログイン名を入力rootし、パスワードを入力して、rootとしてログインしてみてください。

rootアカウントが有効になっている場合、ログインは機能します。rootアカウントが無効になっている場合、ログインは失敗します。

GUIに戻るには、Ctrl + Alt + F7を押します。


そのためにTTYまで行く必要はありません。シンプルでsu十分です。
muru

ありがとう、私は試しました、そして今それはロックされています。しかし、それを開いて確認できるファイルはあるのでしょうか。入力したパスワードを思い出せないと仮定し、ユーザーからのsudoで別のパスワードを設定するオプションがないため、ログインファイルが存在するかどうかを確認したいとします。
nobru

0

デフォルトでは、Ubuntuをインストールするときにrootパスワードを知らないはずです。それは存在しますが、ユーザーはそれを知らないはずです。もちろん、管理者はパスワードを変更することを選択できますが、sudo passwd何をしているのか、なぜそれをしているのかを知っているのでない限り、通常、パスワードを変更する必要はありません。

すべてのユーザーパスワードに関する情報を含む/etc/shadow ファイルがあり、そのファイルの各エントリは暗号化されています。したがって、攻撃者がシステムにアクセスしてこのファイルを盗んだ場合を除いて、攻撃者はrootになることはできません。可能性はそれゆえ、私はあなたが任意のリモートアクセス機能を無効にする提案はもちろん、常にあります:などのtelnet(デフォルトでは有効になっていません)、SSH、リモートデスクトップは、自分で取得nmapツールをしてて、あなたのシステムをスキャンsudo nmap localhostポートがあなたの上に開いているかもしれないもの見るためにシステム。また、ファイアウォールを取得してください。ubuntuにはufwファイアウォールが付属しています。これは使いやすく、十分に機能します。

他の方法の中で、あなたはルートアカウントをテストすることができます sudo -i

では/etc/sudoers、ファイル、次のような行を持つ必要がありますsudo -i。rootとしてログインできない場合、#asプロンプトは表示されず、アカウントはロックされています

Defaults env_reset,timestamp_timeout=30

timestamp_timeoutは、30秒後にもう一度パスワードを要求するようにsudoに指示します。これにより、常にroot権限でログインする必要がなくなります。これは、システムを保護する方法の1つです。

rootパスワードを変更すると、パスワードを忘れたり、システム上の別のユーザーがパスワードを忘れたりすると、rootにアクセスできなくなります。私はインスタンスを認識していませんが、一部のプロセスはrootとして実行されるため、システムをめちゃくちゃにする可能性が常にあります。rootアカウントをロックすると、それらが正しく機能しないか、まったく機能しない可能性があります。

私は強くて、あなたが読んでお勧めしますman sudoersman passwd,男のshadow`。

今後ともよろしくお願いいたします。


0

Linuxサーバーに存在するすべてのユーザーのパスワードレポートの1つのライナーコマンドをキャッチします。

for i in $(cat /etc/passwd | awk -F ':' '{print $1}'); do echo "##############" "$i" "############";chage -l $i; echo "##################################"; done | nl | less
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.