【第3回】セキュリティの基本!rootに頼らない適切な権限設計とsudoの運用|新入社員のためのLinux基礎講座

こんにちは、リナックス先生です。第2回ではLinuxのディレクトリ構造を学び、サーバー内を自由に歩き回れるようになりましたね。しかし、これまでの操作はすべて「root(ルート)」という最強の権限で行ってきました。

プロの現場において、常時rootユーザーで作業することは、安全装置を外したまま重機を運転するようなものです。第3回では、Linuxにおける「守りの要」であるユーザー管理とパーミッション(権限)、そして安全なコマンド実行の仕組みである sudo について深掘りしていきましょう。

コウ君

先生、rootって何でもできて便利なのに、どうして使っちゃいけないんですか?いちいちsudoって打つの面倒くさいです…。

リナックス先生

コウ君、その「面倒くさい」を省いた結果、たった一つの打ち間違いでシステムが全消去された現場を私は何度も見てきたわ。rootは「万能の鍵」。普段は厳重に保管して、必要な時だけ「sudo」という手続きを経て使うのがプロの鉄則なのよ!

【全8回】新入社員のためのLinux基礎講座:カリキュラム一覧

  • 第1回:ConoHa VPSで始めるAlmaLinux 9環境構築とSSH接続の極意
  • 第2回:現場で迷わない!標準ディレクトリの役割と効率的なファイル操作コマンド
  • ▶ 第3回:セキュリティの基本!rootに頼らない適切な権限設計とsudoの運用(今ここ!)
  • 第4回:DNF徹底攻略。dnfコマンドの使い方とWebサーバー(Apache)のセットアップ
  • 第5回:firewalldとIPアドレスの理解。サービスを安全に公開するための通信制御
  • 第6回:エンジニアの嗜み「Vim」の操作と、タイムゾーン・ロケール等のシステム設定
  • 第7回:サーバーが重い原因を探る!systemdの操作とリソース監視(top/ps/df)
  • 第8回:運用のプロへの第一歩。バックアップ処理を自動化するシェルスクリプトの作成

1. rootユーザーの危険性と一般ユーザーの作成

Linuxにおけるrootは、あらゆる操作を許可された「スーパーユーザー」です。しかし、複数人で共有するサーバーや、インターネットに公開されているVPSでは、以下の理由から常用は禁止されています。

  • 誤操作の影響: システムの重要なファイルを一瞬で削除できてしまう。
  • セキュリティ: rootのパスワードが漏洩すると、サーバーの支配権を完全に奪われる。
  • ログの追跡: 誰が操作したか分からなくなる。

一般ユーザーを作成する (useradd)

まずは自分専用の作業用ユーザーを作成しましょう。ここでは「kou」という名前で作成します。

# ユーザーの追加
useradd kou

# パスワードの設定(強力なものを入力してください)
passwd kou

これで、次回のSSHログインからは root@... ではなく kou@... でログインできるようになります。


2. sudoコマンドの仕組みとwheelグループ

一般ユーザーでログインすると、システム設定の変更などは拒否されます。そこで使うのが sudo (substitute user do) です。「一時的に管理者として実行する」ための魔法のコマンドです。

管理者に昇格できるユーザーの設定

AlmaLinux 9(RHEL系OS)では、wheel という名前のグループに所属しているユーザーだけが sudo を使う権利を持ちます。

# ユーザー kou を wheelグループに追加する
usermod -aG wheel kou

sudoの使い方

使い方は簡単。実行したいコマンドの前に sudo をつけるだけです。

sudo dnf update

この時求められるパスワードは、rootのものではなく「自分(kou)のパスワード」です。これにより、rootのパスワードを教え合うことなく、安全に権限を委譲できるのです。

💡 プロのノウハウ:sudo -i と sudo su – の違い
完全にrootシェルに切り替えたい時は sudo -i を使います。su - と違い、rootのパスワードを知らなくても昇格できるのがメリットですが、実務では「必要なコマンドだけ sudo をつける」スタイルが、履歴管理の面から推奨されます。


3. パーミッション(権限)の読み方・変え方

Linuxではすべてのファイルやディレクトリに対し、「誰が」「何をしていいか」が細かく設定されています。これがパーミッションです。ls -l で確認した際の左端の文字列 -rwxr-xr-x を読み解きましょう。

記号 名称 意味 数値
r Read 読み取り可能(cat等ができる) 4
w Write 書き込み可能(編集・保存ができる) 2
x Execute 実行可能(プログラムやスクリプトとして動かせる) 1

権限の3つのグループ

rwxr-xr-x は3文字ずつ、3つのグループに分かれています。

  1. 所有者 (Owner): ファイルを作った本人。
  2. 所有グループ (Group): 同じチームのメンバー。
  3. その他 (Others): それ以外の全世界の人。

権限を変更する (chmod)

数値を使って設定するのが一般的です(例:r(4) + w(2) = 6)。

# 自分は読み書き、他人は何もできない設定
chmod 600 config.php

# Web公開用のファイル(自分は読み書き、他人は読み取りのみ)
chmod 644 index.html

# スクリプトを実行可能にする
chmod 755 myscript.sh

4. 現場の流儀:ファイルの所有者変更 (chown)

エンジニアが現場でよくハマるのが「ファイルの中身は合っているのに、Webサイトが表示されない(Forbidden)」というトラブル。その多くは、所有者が間違っていることが原因です。

# ファイルの所有者を apache ユーザーに変更する
sudo chown apache:apache index.html

# ディレクトリ以下の全ファイルの所有者をまとめて変更
sudo chown -R kou:kou /var/www/myproject

⚠️ トラブルシューティング / 注意点
初心者がやりがちなのが、動かないからといって chmod 777(全員に全権限を付与)にしてしまうこと。これはセキュリティ的に最悪な「ザル設定」です。現場でやると厳しく怒られます。必ず「最小限の権限」を付与するよう心がけましょう。


5. まとめと次回予告

第3回では、Linux運用の基礎となる「権限」をマスターしました。

  • root常用は卒業: 一般ユーザーを作成し、sudo を活用する。
  • wheelグループ: sudoを使える特別なグループを理解した。
  • パーミッション: rwxと数値の関係、所有者の概念を学んだ。
  • chmod/chown: 現場で最も多用するコマンド2つを覚えた。

これで、安全に作業する準備が整いました。次回はいよいよ、実際にソフトウェアをインストールしてサーバーとしての機能を高めていきましょう。

第4回のテーマは「パッケージ管理とミドルウェア導入」です。AlmaLinux 9の標準ツール「DNF」を使いこなし、Webサーバー(Apache)をセットアップする手順を詳しく解説します。お楽しみに!

▼ サーバー構築・開発を学ぶならVPSで ▼

エンジニア必須の環境
「おすすめVPS」

VPSランキングを見る

技術スキルを活かす
「ITエンジニア転職」

転職エージェントを見る

コメント