初心者にもわかりやすく、表や例、図示用プロンプトを交えながら詳しく解説しています。


🧩 Linuxでのパーミッション管理入門:chmod・chown・chgrpの基本

Linuxを安全に運用するうえで欠かせないのが、「パーミッション(アクセス権)」の管理です。
 パーミッションは、ファイルやディレクトリに対して「誰が・どんな操作をできるか」を決める仕組みです。

 「Linuxでのパーミッション管理入門」では、ファイルやディレクトリの権限を管理するための基本コマンドである
 chmod(パーミッション変更)chown(所有者変更)chgrp(グループ変更) の使い方を学びます。

🔐 パーミッションとは?

 パーミッションとは、Linuxでファイルやディレクトリに対して設定される「アクセス制御ルール」です。
これにより、「誰がファイルを読む・書く・実行できるか」が決まります。

Linuxでは、各ファイルに対して次の3つの対象に権限が割り当てられます。

対象説明
所有者(User)ファイルを作成したユーザー。最も強い権限を持つ。
グループ(Group)所属するグループのメンバー。共有作業時に便利。
その他(Others)上記以外のすべてのユーザー。

📖 パーミッションの種類

パーミッションには「読み取り」「書き込み」「実行」の3種類があります。

権限記号数値ファイルの場合ディレクトリの場合
読み取りr4ファイル内容を読むディレクトリ内の一覧を表示
書き込みw2内容を変更・削除するファイルを作成・削除する
実行x1プログラムを実行ディレクトリに移動できる

💡 例
rw-r--r-- のように表示される場合、

  • 所有者は読み書き可能
  • グループとその他ユーザーは読み取りのみ

となります。

💡 数値表現によるパーミッション設定

パーミッションは、3桁の数値で表すこともできます。
各桁は 所有者・グループ・その他 の順に指定します。

数値意味権限
74+2+1読み・書き・実行(rwx)
64+2読み・書き(rw-)
54+1読み・実行(r-x)
44読みのみ(r--)
0なし権限なし(---)

chmod 740 myfile

→ 所有者は「読み・書き・実行」、グループは「読みのみ」、その他は「権限なし」。

👤 ファイルの所有者とグループ

Linuxでは、ファイルは必ず「所有者」と「所有グループ」に紐づいています。

項目説明
所有者(User)ファイルを作成したユーザー。
所有グループ(Group)所有者が所属するグループ。
その他(Others)それ以外の全ユーザー。

確認コマンド

[suzuki@AlmaLinux ~]$ ls -l
-rw-r--r-- 1 suzuki sales  512 Oct 28 22:00 report.txt
  • 所有者:suzuki
  • 所属グループ:sales
  • ファイル名:report.txt
  • パーミッション:rw-r--r--(所有者=読み書き、グループ=読み取り、その他=読み取り)

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

コマンド書式

chmod [オプション] モード ファイル名
オプション説明
-Rディレクトリを再帰的に変更
-v処理したファイル名を表示

モード(権限指定)は2通りの指定方法があります。

方式説明
数値指定chmod 755 file.txt数値で直接指定(rwx=r7, r-x=5 など)
記号指定chmod u+x file.txtu(所有者), g(グループ), o(その他) に +, -, = を使う

使用例

[suzuki@AlmaLinux ~]$ chmod 644 report.txt

→ 所有者は読み書き可能、グループとその他は読み取りのみ。

[suzuki@AlmaLinux ~]$ chmod u+x script.sh

→ 所有者に実行権限を追加。

👑 所有者を変更する — chownコマンド

コマンド書式

chown [オプション] 所有者:グループ ファイル名
オプション説明
-R再帰的に変更
-v変更結果を表示
--reference=ファイル名指定ファイルと同じ所有者・グループに設定

📘 使用例

[root@AlmaLinux ~]# chown root:sales report.txt

→ 所有者を root、グループを sales に変更。

[root@AlmaLinux ~]# chown suzuki report.txt

→ 所有者のみ suzuki に変更。

👥 グループを変更する — chgrpコマンド

コマンド書式

chgrp [オプション] グループ名 ファイル名
オプション説明
-Rディレクトリを再帰的に変更
-v変更内容を表示

使用例

[root@AlmaLinux ~]# chgrp :sales report.txt

→ report.txt の所有グループを sales に変更。

💡 コロン(:)をつけるとより明示的にグループを指定できます。

🌟 特殊なパーミッション(SUID・SGID・Sticky Bit)

Linuxには、特定の条件で動作を変更する「特別なパーミッション」もあります。

種類設定方法意味
SUIDchmod u+s ファイル名実行時に「所有者の権限」で実行される。
SGIDchmod g+s ファイル名実行時に「グループ権限」で実行される。
Sticky Bitchmod +t ディレクトリ名所有者以外は削除できない(/tmp に多用)。

[root@AlmaLinux ~]# chmod 4755 /usr/bin/program

→ SUIDが有効化され、実行時に所有者権限が利用される。

🧮 出力例

[suzuki@AlmaLinux ~]$ ls -l
-rwxr-xr-- 1 suzuki sales 4096 Oct 28 21:00 script.sh
項目内容
所有者suzuki
グループsales
パーミッションrwxr-xr--
意味suzukiは読み書き実行可、salesグループは読み実行可、その他は読み取りのみ

✅ まとめ

Linuxのパーミッションは、セキュリティと操作権限を管理するための重要な仕組みです。
次の3つのコマンドを理解することで、安全なアクセス制御が行えるようになります。

操作内容使用コマンド主な目的
パーミッション変更chmod読み取り・書き込み・実行権限を設定
所有者変更chownファイルの所有者とグループを変更
グループ変更chgrp所属グループを変更

パーミッションを正しく設定することで、
ファイルの不正アクセスを防ぎ、システムの安全性と安定性を保つことができます。

セキュリティを守る第一歩として、ぜひ chmod・chown・chgrp を確実に使いこなしましょう。