Categories: linux

【LPIC-1対策】セキュリティとパーミッション管理を完全マスター:chmod・umask・ファイアウォールの基礎から実践まで

Linux技術者認定試験「LPIC-1」の出題範囲には、セキュリティに関する基本的な知識と操作スキルが含まれています。なかでもファイルやディレクトリのパーミッション管理(chmod、umask)や、システムを外部の攻撃から守るためのファイアウォール設定は、実務でも重要なテーマです。
本記事では、LPIC-1対策として「パーミッション管理」「umaskの仕組み」「chmodの使い方」「ファイアウォールの基本設定」などをわかりやすく解説します。試験対策はもちろん、現場での即戦力にもなるよう、実例やポイントを交えて5000文字以上のボリュームでお届けします。


パーミッションとは?Linuxのアクセス権限の基本

Linuxでは、すべてのファイルとディレクトリに「所有者」「グループ」「その他」の3つのアクセス対象と、それぞれに対して「読み取り(r)」「書き込み(w)」「実行(x)」のパーミッション(アクセス権)が設定されています。

たとえば、次のような表示があったとします。

-rw-r--r--  1 user1 users  4096 Apr 1 10:00 sample.txt

これは以下のような意味を持ちます。

  • -rw-r--r--:パーミッション部分
    • 所有者(user1)は読み取りと書き込みが可能(rw-)
    • グループ(users)は読み取りのみ可能(r–)
    • その他のユーザーも読み取りのみ可能(r–)

このように、パーミッションは9文字で構成されており、3文字ずつに区切って対象と権限を示します。頭の「-」はファイルの種類を表し、ディレクトリなら「d」が表示されます。


chmodコマンドでパーミッションを変更する

シンボリックモードと数値モード

パーミッションの変更にはchmodコマンドを使用します。chmodには2つの指定方法があります。

シンボリックモード

シンボリックモードでは、アクセス対象を文字で指定し、追加(+)や削除(-)で変更します。

例:

chmod u+x script.sh  # 所有者に実行権を追加
chmod go-w data.txt # グループとその他から書き込み権限を削除
  • u:ユーザー(所有者)
  • g:グループ
  • o:その他
  • a:すべて(u+g+o)

数値モード

数値モードでは、3桁の8進数で指定します。

  • r=4、w=2、x=1 として合計値で表します。
  • 例: bashコピーする編集するchmod 755 script.sh

これは以下の意味になります。

  • 所有者:7(4+2+1)→ 読み書き実行可
  • グループ:5(4+0+1)→ 読み実行可
  • その他:5(4+0+1)→ 読み実行可

この数値方式は非常に試験に出やすいので、各数字が表す意味をしっかり理解しておく必要があります。


umaskの仕組みとデフォルトパーミッションの決まり方

ファイルを作成したとき、自動的にパーミッションが設定される仕組みを理解しておくことも重要です。これはumaskという値によって決まります。

umaskとは?

umaskは「ユーザーマスク」の略で、作成時に「付与しないパーミッション」を示す値です。通常は次のように設定されています。

umask
# 出力例:0022

この例では、ファイルやディレクトリを作成する際に以下のようにパーミッションが決まります。

umaskの計算方法

  • 通常、ファイルの最大パーミッションは「666(rw-rw-rw-)」
  • ディレクトリの場合は「777(rwxrwxrwx)」

umask 0022 であれば、

  • ファイル → 666 – 022 = 644(rw-r–r–)
  • ディレクトリ → 777 – 022 = 755(rwxr-xr-x)

umaskの設定

umaskは一時的にターミナルで変更することができます。また、恒久的に設定したい場合は、ログインシェルごとに.bashrc.profileなどの設定ファイルに追記します。

例:

umask 0027  # グループは読み取り可、その他はすべての権限なし

ファイアウォールの基礎:LPICで押さえるべき概念と操作

LPIC-1ではファイアウォールの設定も出題対象となっています。主にiptablesfirewalldの基本的な使い方を理解しておきましょう。

firewalldとは?

firewalldはRHEL系ディストリビューションで標準的に使われるファイアウォール管理ツールです。サービス単位で許可・ブロックを行えるほか、ゾーンという概念で柔軟に制御できます。

基本操作

  • 現在の状態を確認: bashコピーする編集するsudo firewall-cmd --state
  • 使用中のゾーンの確認: bashコピーする編集するsudo firewall-cmd --get-active-zones
  • サービスの許可: bashコピーする編集するsudo firewall-cmd --add-service=http --permanent sudo firewall-cmd --reload
  • ポート番号での許可: bashコピーする編集するsudo firewall-cmd --add-port=8080/tcp --permanent

iptablesとは?

より細かく制御したい場合や、古い環境ではiptablesを使うこともあります。

基本操作例

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -j DROP

上記の例では、SSH(ポート22)を許可した上で、他のすべての入力を拒否するルールになります。

設定の保存

環境によってはiptablesの設定を次回起動時に維持するために、以下のように保存します。

sudo iptables-save > /etc/sysconfig/iptables

セキュリティのベストプラクティスとLPIC試験でのポイント

最小権限の原則

Linuxのセキュリティで重要なのが「最小権限の原則」です。つまり、必要最小限の権限だけを付与することで、事故や不正アクセスのリスクを減らすことができます。

  • 書き込み権限は慎重に
  • 実行権限は本当に必要なスクリプトのみに
  • ディレクトリに対する実行権は、”移動(cd)”を可能にするもの

試験で問われやすい点

  • chmod 777などの「すべて許可」は危険なので、出題でも注意点として扱われる
  • umaskの計算問題が頻出
  • firewall-cmdiptablesの基本オプションを覚えておく
  • chmodのシンボリックと数値モードの変換問題が出題されやすい

まとめ

Linuxのセキュリティは、パーミッションの理解と設定から始まります。chmodで正確に権限を管理し、umaskでデフォルト設定を適切にコントロールし、さらにファイアウォール(firewalldiptables)でシステムの外部アクセスを制限することで、より安全な環境を実現できます。

LPIC-1試験でも、これらの基本操作や仕組みは必須項目です。コマンドの使い方だけでなく、「なぜそうするのか」という背景知識まで押さえることで、得点力と実務力を同時に伸ばすことができます。

upandup

Web制作の記事を中心に、暮らし、ビジネスに役立つ情報を発信します。 アフィリエイトにも参加しています。よろしくお願いいたします。