デフォルトでは、Raspbianはパスワードを使用してrootアカウントにログインできないように構成されています。これは、以下/etc/password
で始まるエントリで開始することにより行われます。
root:x:0:0:
フィールドはコロンで分離され、中に説明されているman 5 passwd
(注意5
以来、man passwd
あなたのコマンドのmanページを提供しますpasswd
。セクション5は、コンフィギュレーションファイルのためであり、この場合には、それらは同じ名前を持ちます)。ここで、最初のものは名前(root
)、3番目と4番目は数値のuidとgid(両方0
)、2番目はパスワード用です。ほとんどのエントリでは、これはになりx
、実際のパスワードが別のファイルにあることを示します/etc/shadow
。
「実際のパスワード」は実際にはどこにも保存されないことに注意してください。格納されるのshadow
は、実際のパスワードの一方向ハッシュです。一方向ハッシュはプロセスの結果であり、常に同じものを生成します(パスワードの検証を許可します)が、元に戻すことはできません。つまり、誰かが手に入れた場合shadow
、ハッシュからパスワードを推測する方法はありません。ただし、パスワードを変更できる場合は shadow
、明らかにパスワードとして機能するものを無効にしたり変更したりできます。しかし、彼らはあなたのパスワードを発見することはできません。これがroot
できない理由です(ただし、ルートは元のファイルを必要とせずにいつでも別のものに変更できます)。
ルートの場合、shadow
他のほとんどのシステムアカウントと同様に、のエントリは次のように始まります。
root:*:
*
このアカウントを使用することができる可能性パスワードには現在あることを示していません。
ただし、rootユーザーはこれを変更して、passwd
新しいパスワードを設定するコマンドを使用し、*
前述のハッシュに置き換えます(これらは常にハッシュの「塩」として使用されるランダムな値の$n$
場所から始まりますがn
、 'それを理解する必要はありません)。
とにかく、新しいイメージからカードをセットアップするとき、最初に行うことは/etc/passwd
、x
そのルートのエントリを開始して削除することです。
root::0:0
現在、2番目のフィールドがないことに注意してください。この手段がないパスワードおよびすべてあなたがしなければならないタイプであるroot
、ログインプロンプトで、あなたはように記録されますroot
。その後、を使用passwd
して設定できます。
そのため、ここには2つの選択肢がありますが、どちらもpiからカードを取り出し、別のシステム(ext4パーティションの読み取り/書き込みが可能な)から2番目のパーティションにアクセスする必要があります。
復元しsudoers
ます。参照画像がある場合、これは簡単ですが、置き換えることで元の状態に戻すことができます。そうでなければ、あなたは何をしているのかを知る必要があるので、より複雑なオプションです(そして、あなたの実績sudoers
はあまり良くありません...)。
上記のように編集/etc/passwd
して削除しx
、カードを元に戻し、ログインしroot
、パスワードを作成します。もちろん、あなたはまだ修正する必要sudoers
がありますが、あなたが本当にいるならroot
、あなたはいつでもそれにアクセスできるので、試行錯誤は簡単になります。
ext4ファイルシステムにアクセスできるシステムがない場合(ここでは、Debianの「ライブCD」が適切な選択です)、立ち往生しています。カードを再フラッシュして、再起動する必要があります。