Linux: パスワードを忘れた場合のリセット方法

Linux システムでパスワードを失うと、それがワークステーションであっても、企業サーバーであっても、あるいは家庭で使用されている Raspberry Pi であっても、すぐに重大な障害となる可能性があります。幸いなことに、Ubuntu、Debian、Fedora、Arch Linux、CentOS、Linux Mint、openSUSE、Manjaro、Raspberry Pi OS、Red Hat などのディストリビューションが豊富な Linux エコシステムは、忘れたパスワードを回復またはリセットするための強力な方法をいくつか提供しています。これらの方法は、システム構成、ハードウェア アクセス、およびブート環境によって異なりますが、データの整合性に対するリスクを最小限に抑えながら、正当なユーザーへのアクセスを安全に復元するという共通の目標を常に共有しています。この実用的なガイドでは、これらの重要な操作を段階的に説明し、基盤となるシステム メカニズムの説明、コマンドの図解、およびセキュリティを損なうことなくリセットを効果的に管理するための実用的なアドバイスを提供します。

Live USB を使用して Linux パスワードをリセットする手順を完了します。

ユーザー パスワードまたは root パスワードを紛失した場合、最も安全で汎用性の高いパスワードを回復する方法の 1 つは、通常は起動可能な USB スティックから起動されるライブ Linux 環境を使用することです。この技術は、Ubuntu、Debian、Fedora、Arch Linux などの一般的なディストリビューションの大部分に適用され、既存のインストールを変更することなくシステム ファイルを完全に制御できます。

Live USB Linux での作成と起動

まず、Linux イメージを含むブート可能な USB キーを用意することが不可欠です。のようなツール ルーファス または ヴェントイ この作成を容易にします。たとえば、Ventoy は、複数の ISO イメージを 1 つのドライブに保存する場合に特に便利で、CentOS、openSUSE、Linux Mint などのディストリビューションをやりくりするシステム管理者にとっては真の資産です。

USB キーを準備したら、BIOS/UEFI でブート順序を変更するか、 ブートメニュー (製造元によっては、F8、F12、または Esc キーからアクセスできることが多い) キーで起動します。この手順では、ローカル インストールを上書きせずに、一時的な Linux システムを導入します。

システム パーティションを特定してマウントする

ライブ環境に入ったら、ターミナルを開きます。注文 lsblk すべてのストレージデバイスとそのパーティションをリストします。

  • lsblk メイン ディスク (多くの場合、 sda) とそのルート パーティション (例: sda2)。
  • 示されているサイズとラベルは、正しいパーティションを識別するのに役立ち、間違いを避けるために不可欠です。

識別したら、アクセスするにはこのパーティションをアクセス ポイントにマウントする必要があります。例えば ​​:

sudo マウント /dev/sda2 /mnt

このマウントにより、この時点では何も上書きまたは変更することなく、パーティションにインストールされているファイル システム全体が公開されます。

実際のインストールで動作するようにシステム ルートを変更します (chroot)

注文 chroot (ルートを変更する) は、コマンドのコンテキストをマウントされたパーティションに切り替える基本的なトリックです。

sudo chroot /mnt

ライブ USB キーから起動した場合でも、システムはディスクに保存されます。パスワードのリセットを含むすべての変更は、システムに直接適用されます。

ユーザーまたは root パスワードのリセット

パスワードを変更する前に、ユーザー アカウントのリストを確認すると便利です。

ls /ホーム

このコマンドは、存在するアカウントの名前を示すユーザー ディレクトリを一覧表示します。

ユーザーのパスワードを変更するには、次のコマンドを使用します。

passwd user

例えば、ユーザー「alice」のパスワードをリセットするには、次のコマンドを使用します。

passwd alice

システムは確認のために新しいパスワードを2回要求します。このターミナルでは、キーボードがデフォルトでQWERTY配列になっていることが多いため、入力する文字には注意してください。

chroot環境でrootパスワードを変更するには、次のコマンドを使用します。

passwd

これは、スーパーユーザーのパスワードを直接変更します。この手順は、パスワードを紛失した場合にフルアクセスを回復するために不可欠です。

システムを確定して再起動します

変更が完了したら、chroot環境を終了し、コンピューターを再起動します。

  • exit でchrootを終了します。
  • sudo reboot で再起動します。

USBドライブを取り外すか、ブート順序を変更してディスクから自動的に起動するように変更することを忘れないでください。 GRUB を使用して Linux でパスワードを忘れた場合のリセット

GRUB (Grand Unified Bootloader) ブートローダーは、マシンにインストールされている Linux の異なるバージョンにアクセスするための重要なステップであり、USB ドライブを使用せずに直感的にパスワードをリセットする方法を提供します。この方法は、Ubuntu、Fedora、openSUSE、Arch Linux などの一般的なディストリビューションに最適です。

GRUB ブートオプションへのアクセスと変更

システムの起動時に、Shift キーまたは Esc キーを押して GRUB メニューを表示します。一部のディストリビューションではこのメニューがデフォルトで非表示になっているため、強制的に表示させる方法を知っておくことが重要です。

メニューが表示されたら、Linux インストールに対応するエントリ(例:Ubuntu)に移動し、E キーを押してブートオプションを編集します。 「linux」で始まる行を含む複数の行がエディタに表示されます。 ルートモードで起動するように設定を変更します。 この行では、以下の変更が必要です。 読み取り専用マウントディレクティブとサイレントグラフィックモードに対応するオプション

ro quiet splash $vt_handoff を削除します。 これらのオプションを

rw init=/bin/bash

に置き換えます。この変更により、システムはパーティションを読み書き可能(rw)でマウントし、初期プロセスとしてbashシェルを直接起動します。

次に、

  • CTRL + X または F10
  • を押して、変更した設定で起動します。しばらくすると、ルートプロンプト root@(none):~#が表示されます。

ルートシェルからのパスワードのリセット このコンテキストでは、システムは最小限の機能しか備えておらず、ルートアクセスにパスワードを必要としないため、修復が容易になります。 passwd user または passwd と入力するだけで、ルートパスワードを変更できます。必要に応じて、システムパーティションを読み取り書き込みモードでマウントしてください。mount -o remount,rw /

パスワードを変更したら、次のコマンドでシステムを再起動します。

exec /sbin/init

システムは通常どおりに起動し、新しいパスワードでログインできるようになります。

リカバリモードを使用したパスワード変更

ルートパスワードがわかっている場合は、GRUBメニューからアクセスできるリカバリモードを使用することもできます。 Ubuntuの場合は「詳細オプション」、ディストリビューションの場合は同等のオプションを選択します。

recovery

モードを選択します。

「rootシェルプロンプト」を使用してルートコマンドラインにアクセスします。

通常どおりpasswdを使用してパスワードを変更します。

この方法は、USBドライブを使用しないメンテナンス作業でよく使用されます。https://www.youtube.com/watch?v=OTuA_TQ-eHk

パスワードリセット後のGNOMEキーチェーンエラーの解決

  • Ubuntu、Fedora、Linux Mintなどのディストリビューションでパスワードをリセットした後、ログイン時にエラーメッセージが表示されることは珍しくありません。 「パスワードがディレクトリ内のパスワードと一致しません。」 このメッセージは、ユーザーアカウントのパスワードと、Wi-Fi、SSH、VPN、その他の機密データを保存するツールであるGNOMEキーチェーンのロック解除に使用されたパスワードが一致していないことを示しています。
  • Seahorseを使用したGNOMEキーチェーンの管理 この問題を解決するには、このキーチェーンを同期またはリセットする必要があります。Seahorseグラフィカルツールを使用すると、保存されたパスワードを簡単に管理できます。メニューから、またはターミナルでseahorseコマンドを使用してSeahorseを起動します。
  • 「ログイン」セクションで、問題のキーチェーンを右クリックし、「削除」を選択します。
  • 削除を確定すると、保存されているすべてのパスワード(Wi-Fi、SSHなど)が消去されます。 ログアウトするか再起動すると、次回ログイン時にキーチェーンが自動的に再作成されます。データの損失を防ぐため、可能であればこの操作の前にパスワードをバックアップすることをお勧めします。新しいキーチェーンを手動で作成する

キーチェーンが削除後に自動的に再作成されない場合は、Seahorse を使って手動で作成できます。

「パスワードを追加」を選択し、「新しいキーチェーン」を選択します。

このキーチェーンに名前を付け、新しいパスワードを設定します。将来のエラーを防ぐため、ユーザーアカウントのパスワードと同じパスワードが理想的です。

その後、セッションを再起動します。

これらの手順により、パスワード回復後のスムーズなユーザーエクスペリエンスが確保されます。https://www.youtube.com/watch?v=sUp5ZKtXo1M

リセット後の Linux システムのセキュリティ保護に関するベストプラクティスと推奨事項 Linux のパスワードリセットは容易ですが、これは確かに命綱となる一方で、Red Hat、CentOS、Debian などの企業で使用されているディストリビューションにおいては、適切なセキュリティポリシーの重要性を浮き彫りにしています。マシンへの物理的なアクセスは、追加の対策を講じなければ、ほぼ完全な侵入の扉を開くことになります。物理的なアクセスとブートローダーの保護

GRUB 設定の変更や Live USB からの起動を防ぐには、いくつかの安全策を講じる必要があります。

BIOS/UEFI 保護 :パスワードを追加して、不正な変更を防止します。 GRUB パスワード

  • :これにより、ルートシェルの起動を可能にするブートオプションの不正な編集を防止します。 LUKSVeraCrypt などのツールを使用したディスク暗号化:Live USB にアクセスしている場合でも、データは保護されたままです。
  • 重要なマシンへの物理的なアクセスは可能な限り制限します。バックアップとアクセス管理手順を実装します。 物理的な保護に加えて、Linux では適切なパスワードと権限管理が不可欠です。ユーザーアカウントと root アカウントには、複雑で異なるパスワードを使用します。
  • ネットワーク管理と容易な統合のために、nmcli などの Linux 互換パスワードマネージャーを実装してください。
  • アクセスを文書化し、機密性の高いパスワードを定期的に変更してください。

ユーザーにパスワードを平文で共有しないよう教育してください。

通知および監視ツールを使用してください。

一部のオープンソースプロジェクトでは、システムの状態を監視し、不正アクセスの兆候となる可能性のある異常を検出するための高度な機能を提供しています。

  • Linux は、GPU の障害など、重大なハードウェア障害をユーザー空間に警告する標準化されたシステムを実装しています(詳細はこちら)。 ユーザーアカウントの変更を追跡するには、リアルタイム分析機能を備えたログシステムの使用をお勧めします。 https://www.youtube.com/watch?v=PFU3sjNxZZY