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ではファイアウォールの設定も出題対象となっています。主にiptables
やfirewalld
の基本的な使い方を理解しておきましょう。
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-cmd
やiptables
の基本オプションを覚えておくchmod
のシンボリックと数値モードの変換問題が出題されやすい
まとめ
Linuxのセキュリティは、パーミッションの理解と設定から始まります。chmod
で正確に権限を管理し、umask
でデフォルト設定を適切にコントロールし、さらにファイアウォール(firewalld
やiptables
)でシステムの外部アクセスを制限することで、より安全な環境を実現できます。
LPIC-1試験でも、これらの基本操作や仕組みは必須項目です。コマンドの使い方だけでなく、「なぜそうするのか」という背景知識まで押さえることで、得点力と実務力を同時に伸ばすことができます。