UbuntuおよびDebianホストでは、シングルユーザーモード 、レスキューモードとも呼ばれます 、重要な操作を実行するために使用されます。
シングルユーザーモードを使用すると、ルートパスワードをリセットできます。 またはファイルシステムチェックを実行します システムがそれらをマウントできない場合は修復します。
このチュートリアルでは、DebianおよびUbuntuホストでシングルユーザーモードで起動する方法と、rootパスワードをリセットする方法を説明します。
また、シングルユーザーモードの起動時にパスワードの入力を求めるようにターゲットユニット(レスキューおよび緊急)を構成します。
注 :レスキューターゲットまたは緊急ターゲットを起動するには、デフォルトのGRUB起動プロセスを中断するためにマシンに物理的にアクセスする必要があります。
Debianのレスキューと緊急ターゲット
最近のDebianディストリビューションでは、systemdはデフォルトのターゲットを使用してLinuxホストを起動する責任があります。
systemdによって実行されるデフォルトのターゲットを確認する場合は、次のコマンドを実行できます
$ systemctl get-default
ご覧のとおり、私のシステムはデフォルトでグラフィカルターゲットで起動するように設定されています。
私はGNOMEやKDEのようなデスクトップ環境を所有していないので、単純なシェルで起動します。
ただし、Linuxで使用できるターゲットはグラフィカルターゲットだけではありません。次のモードで起動できます。
- 電源オフ :ホストをシャットダウンしてシステムの電源を切るために使用されます。
- レスキュー :レスキューシェルを使用してシステムを起動するために使用されるモード;
- 緊急事態 :サービスが起動されず、ファイルシステムがマウントされないことを除いて、レスキューモードと同様です。
- マルチユーザー :Linux systemdシステムのデフォルトモード。非グラフィカルシステム(デスクトップ環境なし)でホストを起動するために使用されます。
- グラフィカル :マルチユーザーターゲットと、KDEやGNOMEなどのグラフィカル環境が含まれます。
- 再起動 :システムをシャットダウンし、すぐに再起動します
それらの名前が示すように、これらのモードはLinuxシステムでメンテナンス操作を実行するために使用されますが、セキュリティリークを回避するために安全に実行する必要があります。
この記事では、レスキューに焦点を当てます。 および緊急事態 モードを確認し、それらを安全に実行する方法を確認してください。
また、シングルユーザーモードでの起動を使用して、ルートパスワードを変更したり、簡単なファイルシステムチェックを実行したりする方法についても説明します。
Debianでのrootアカウントの設定
デフォルトでは、シングルユーザーモードに入ると、完全な権限を持つルートプロンプトが表示されます。
結果として、シングルユーザーモード(またはレスキューモード)で起動するには、rootアカウントのロックを解除し、パスワードを設定する必要があります。
rootアカウントのロックステータスの確認
Ubuntuでは、rootアカウントはデフォルトで無効になっています セキュリティ対策として、Debian 10でも無効にすることを選択できます(Debianのインストール時にrootパスワードを指定しない場合)
rootアカウントがロックされているかどうかを確認するには、次のコマンドを実行します
$ sudo -s
$ cat /etc/shadow | grep root
ご覧のとおり、パスワード用に予約されているスペースに感嘆符があります。これは、ルートがロックされていることを意味します。
rootアカウントのパスワードの設定
rootアカウントのパスワードを設定するには、次のコマンドを実行します
$ sudo passwd
シャドウファイルのコンテンツを確認するために戻ると、コンテンツが変更されており、感嘆符が表示されていないことがわかります。
これで、GRUBブートローダー画面からシングルユーザーモードでの起動を開始できます。
GRUBからのレスキューモードでの起動
シングルユーザーモードまたはレスキューモードで起動するには、マシンの起動時にデフォルトの起動プロセスを中断します。
マシンをリセットし、GNUGRUBメニューのキー矢印を押して起動プロセスを中断します。
Debianベースのディストリビューションを実行している場合、これが画面に表示されるはずです
下部の説明パネルで説明されているように、起動コマンドを編集するには「e」を押します
画面に次のウィンドウが表示されます
方向矢印を使用して、Linuxカーネルの起動行に移動し、行の最後に次の文字列を入力します。
systemd.unit=rescue.target
単に「1」と入力することもできます。これは、Debianでシングルユーザーモードで起動するのと同じです。
ブートスクリプトの下で説明されているように、 F10を押します。 レスキューターゲットを起動します。
Linuxカーネルがロードされ、最初の仮想ファイルシステムがロードされます。
アクセスする前に、前に変更したrootパスワードの入力を求められます。
前に定義したパスワードを入力すると、ルートシェルがホストに直接組み込まれるはずです。
素晴らしい!ホストへのルートシェルができたので、ルートパスワードを変更するか、ファイルシステムを確認することから始めることができます。
シングルユーザーモードのセキュリティに関する推奨事項
シングルユーザーモードまたはレスキューターゲットに関しては、このモードがシステムでパスワードで保護されていることが重要です。
ご覧のとおり、Debian 10ではデフォルトでこれが当てはまりますが、他のディストリビューションでも当てはまることを確認する必要があります。
たとえばデータセンターなど、侵入者がマシンに物理的にアクセスできる場合は、マシンを再起動し、起動プロセスを中断して、保護されていないシングルユーザーモードを起動するのと同じくらい簡単です。
そこから、すべてのファイルを削除、コピー、または安全でないサーバーに転送できます。
悪意のあるプログラムをインストールして、ホストの活動を追跡したり、個人情報を盗んだりすることもできます。
Suloginログインシェル
幸いなことに、標準のDebianディストリビューションは、シングルユーザーモードで起動するときにrootパスワードを要求するように構成されています。
これは、ホスト( / usr / lib / systemd / system にあります)のレスキューサービスと緊急サービスを調べることで確認できます。 )
$ cat /usr/lib/systemd/system/rescue.service
デフォルトでは、起動時に、システムは systemd-sulogin-shellを起動します 不正アクセスから安全なレスキューモードで。
ただし、このファイルが変更されていないこと、およびシステムが単純なシェル( / bin / sh など)を起動するように指示されていないことを確認する必要があります。 例えば)。
これにより、安全でないシングルユーザーモードが発生し、誰かがマシンに物理的にアクセスできる場合、基本的に重大なセキュリティ違反が発生します。
結論
このチュートリアルでは、Debianベースのディストリビューションのシングルユーザーモードと、それがLinuxのレスキューターゲットと緊急ターゲットにどのように関連しているかについて学びました。
このモードは、ログインする予定のユーザーにルートシェルを提供するため、パスワードで保護する必要があることを学びました。
また、GRUBにこのモードで起動するように指示する方法と、GRUBを使用してシステムのメンテナンス操作を実行する方法についても説明しました。
Linuxシステム管理に興味がある場合は、WebサイトにLinuxシステム専用の完全なセクションがあります。