Linux学習 第8・9章 システム管理とLinuxのインストール

📢 この記事は gemini-3-flash-preview によって翻訳されました

第8章 システム管理を学ぶ

8.1 システム管理を理解する

  • su コマンド — rootユーザーとしてシェルを開く

  • sudo コマンド — 一般ユーザーがこのコマンドを通して他のコマンドを実行するときに、root権限が与えられる

8.2 グラフィカル管理ツールを使う

Cockpit はブラウザベースのシステム管理ツールだよ。

  1. Cockpit をインストールする
1
sudo dnf install cockpit
  1. root ユーザーでログインして、Cockpit のソケットを有効にする
1
sudo systemctl enable --now cockpit.socker
  1. ブラウザでインターフェースを開く: localhost:9090

8.2.1 system-config-* ツールを使う

ツールコマンド説明
ドメイン名システム (DNS)system-config-bindコンピュータをDNSサーバーにするなら、ゾーン(Zone)を作成・設定する
HTTPsystem-config-httpdApache Web サーバー
NFSsystem-config-nfs他のNFSサービスを使っているコンピュータと共有するディレクトリを設定する
Rootパスワードsystem-config-rootpasswordrootのパスワードを変更する
Samba NFSsystem-config-sambaWindows共有フォルダを設定する
サービスsystem-config-servicesFedoraの異なるランレベルでのサービスを表示・変更する
認証authconfig-gtkシステムのユーザー認証方法を変更する
日付と時刻system-config-date日付と時刻を設定したり、NTPサーバーと同期したりする
ファイアウォールsystem-config-firewallファイアウォールを設定する
言語system-config-language言語を選択する
印刷system-config-printerローカルやネットワークプリンタを設定する
SELinux管理policycoreutils-guiSELinuxの強制モードとデフォルトポリシーを設定する
ユーザーとグループsystem-config-usersユーザーアカウント関連

8.3 rootユーザーアカウントを使う

8.3.1 シェル経由でrootユーザーになる

su コマンドを使えば root ユーザーになれるけど、このままだと環境変数は元のユーザーのままだよ。

su - を使えば、環境変数も root ユーザーのものに切り替わるんだ。

ちなみに、 su - ユーザー名 で指定したユーザーに切り替えることもできるよ。

8.3.2 sudo で管理権限を取得する

sudo で実行するコマンドは root 権限を持つよ。root のパスワードは必要なくて、そのユーザーに権限を与えておくだけでいいんだ。

sudo 権限を与える方法は以下の通り:

  1. root ユーザーで visudo コマンドを実行する

  2. 次のような行を追加する

1
2
3
4
5
yexca    ALL=(ALL)    ALL

# あるいは、sudoを使うときにパスワードを不要にする場合
# (rootのパスワードではなく、そのユーザー自身のパスワードのこと)
yexca    ALL=(ALL)    NOPASSWD:ALL

これで yexca ユーザーに sudo 権限が与えられるよ。

  1. ファイルを保存して閉じる

8.4.2 設定ファイルを管理する

ほとんどの設定ファイルは /etc ディレクトリの中にテキスト形式で保存されているよ。主なものは以下の通り:

ディレクトリ説明
/etc/cron*crond がスケジュール実行するプログラムを定義。cron.daily、cron.hourly など
/etc/cupsCUPS 印刷サービスの設定ファイル
/etc/defaultいろいろなユーティリティのデフォルト値を設定するファイル
/etc/httpdApache Web サーバーの動作設定
/etc/rc?.dシステムの状態(ランレベル)ごとに用意されたディレクトリ:rc0.d (停止)、rc1.d (シングルユーザー)、rc2.d (マルチユーザー)、rc3.d (マルチユーザー+ネットワーク)、rc4.d (ユーザー定義)、rc5.d (マルチユーザー+ネットワーク+GUIログイン)、rc6.d (再起動)
/etc/skel新しいユーザーを作成するとき、このディレクトリのファイルがユーザーのホームディレクトリにコピーされる
/etc/sysconfigいろいろなサービスが作成・維持する重要なシステム設定ファイルが含まれる
/etc/systemdsystemd ユーティリティ(起動プロセスやシステムサービスの管理用)に関連するファイル
/etc/xinetd.dxinetd デーモンが特定のポートで待ち受けるオンデマンドネットワークサービスを定義するファイル群

8.4.3 ログファイルと Systemd.Journal の管理

rsyslogd と systemd の journalctl コマンドを使うよ。

rsyslogd とその前身の syslogd は、ログファイルを /var/log ディレクトリに置くんだ。

8.5 その他の管理用アカウントを使う

例えば lp、apache、bin などのユーザーは、デフォルトではログインできないようになっているよ。

もしログインしたいなら、デフォルトのシェルを /sbin/nologin/bin/false から /bin/bash などの実際のシェルに変更する必要があるんだ。

8.6 ハードウェアの確認と設定

8.6.1 ハードウェアを確認する

dmesgjournalctl コマンドを使って、Linux 起動時のハードウェア検出情報やドライバのロード情報を確認できるよ。

lspci コマンドで PCI バスと接続デバイスを、lsusb コマンドで USB デバイス情報を、lscpu でプロセッサ情報を表示できるんだ。

8.6.2 ローダブルモジュールの使用

正しく認識されないハードウェアを追加したいときは、手動でモジュールをロードする必要があるかもしれない。

  1. ロード可能なモジュールをリストアップする

lsmod コマンドを使うよ。特定のモジュールの詳細を知りたいときは modinfo -d モジュール名 コマンドを使おう。

  1. モジュールをロードする

modprobe コマンドを使って、コンパイルされて実行中のカーネルにインストールされているモジュールをロードできるよ。

  1. モジュールを削除する

rmmod コマンドを使うか、依存モジュールも一緒に削除したいときは modprobe -r を使おう。

8.7 小結

Linux では、セキュリティを確保するために、各サービス(http、git など)ごとに専用のユーザーを作成して、ログイン権限を制限するのがいいよ。

第9章 Linux のインストール

特になし

グラフィカルなインストールについては言うまでもないし、他のインストール方法については Arch Wiki のインストールガイド を参考にするといいよ。

僕も Arch Wiki よりはクオリティが低いけど、記事を書いてみた: 仮想マシンへの Arch Linux インストール記録 – yexca’Blog

他にも PXE 起動などのリモートインストールがあるけど、再現環境がないから今はちょっと理解しにくいかな。

Visits Since 2025-02-28

Hugo で構築されています。 | テーマ StackJimmy によって設計されています。