Linuxのパーミッションとは?見方・変更方法をわかりやすく解説!

はじめ

Linuxを使っているとよく出てくる「パーミッション(permission)」という言葉。これは、誰がファイルやディレクトリを読み書き・実行できるかを制御する仕組みです。
この記事では、Linux初心者向けにパーミッションの基本から確認・変更方法まで丁寧に解説します。


目次

【1】パーミッションとは?

パーミッションとは、ファイルやディレクトリに設定されたアクセス権限のことです。

Linuxではファイルやディレクトリに対して「誰が」「何をできるか(読み・書き・実行)」という権限(パーミッション)が設定されています。

Linuxは、以下の3つの権限があります。

権限意味ファイルの動作ディレクトリの動作
rread(読み取り)ファイルの内容を読むファイル一覧を表示する
wwrite(書き込み)ファイルの内容を変更ファイルの追加・削除
xexecute(実行)プログラムを実行するディレクトリに移動できる

【2】ユーザーとグループの区分

パーミッションは「誰に対しての権限か」も設定できます

区分意味
ownerファイルの所有者
group所属グループのユーザー
othersその他すべてのユーザー

【3】パーミッションの確認方法

ls -l

出力例:

-rw-r--r-- の意味:

位置意味
-ファイルタイプ(-は通常ファイル、dはディレクトリ)
rw-所有者の権限(read, write)
r--グループの権限(read)
r--その他ユーザーの権限(read)

【4】パーミッションの変更方法

パーミッションの変更は記号指定(u+xなど)と数値指定(755など)の2種類の方法があります。

chmod コマンドを使う

記号モード(シンプル)

chmod u+x script.sh   # 所有者に実行権を追加
chmod g-w file.txt # グループから書き込み権限を削除
chmod o=r file.txt # その他ユーザーに読み取り権限のみを設定
対象ユーザー意味
u(user)所有者
g(group)所有グループ
o(others)その他のユーザー
a(all)すべて(u+g+o)

数字モード(3桁)

chmod 755 script.sh
数字意味
7rwx(読み・書き・実行)
6rw-(読み・書き)
5r-x(読み・実行)
4r–(読み)
2-w-(書き)
1–x(実行)
0—(なし)

【5】所有者とグループの変更方法

chown(所有者の変更)

chown testuser1 file1.txt
llについて

ll は、Linuxでよく使われる ls -l のエイリアス(別名コマンド) です。

エイリアス(alias)とは、よく使うコマンドや長いコマンドを短縮して呼び出すための「ニックネーム」のようなものです。
alias [短縮名]='[実行したいコマンド]’
でエイリアスを設定できます。

chgrp(グループの変更)

sudo chgrp testuser1 file2.txt

🛠️ よく使うオプション

オプション説明
-R再帰的に変更(ディレクトリ配下すべて)

-R は「recursive(再帰的)」の略で、指定したディレクトリ配下のすべてのファイルやディレクトリに同じパーミッションを一括で設定したいときに使用します。

書式 : chmod -R [モード] [ディレクトリ]

使用例:

chmod -R 755 testdir1

📌 /testdir1 の中にあるファイルやフォルダすべてが以下のように設定されます:

  • 所有者 → 読み・書き・実行(rwx
  • グループ・その他 → 読み・実行(r-x

【6】パーミッション設定の実例

目的コマンド例
スクリプトを実行可能にするchmod +x myscript.sh
他人に書き込みさせたくないchmod o-w file.txt
ディレクトリを共有設定にするchmod 775 shared_folder

🔥 パーミッションの特殊記号とは?

Linuxのパーミッションには通常の r(読み取り) w(書き込み) x(実行) 以外にも、特別な動きをする特殊な記号やモードが存在します。

これらはセキュリティや機能性を高めるために使われます。


主な特殊記号一覧

記号・モード名前役割
sセットユーザーID(SUID)
セットグループID(SGID)
実行時にファイルの所有者(またはグループ)の権限で動作させる
tスティッキービットディレクトリ内で自分のファイルだけ削除・変更できるようにする
-権限なしその権限がないことを表す
.ACL(アクセス制御リスト)が設定されている印標準のパーミッション以外に細かいアクセス権が設定されている

✏️ 詳しく解説!

1. セットユーザーID(SUID)s

  • ファイルを所有者の権限で実行できるようにする特別な設定。

使い方

chmod u+s ファイル名

表示例

👀 ポイント:
通常の x(実行)の位置に s がついている!


2. セットグループID(SGID)s

  • グループの権限で実行させる、またはディレクトリでは新しいファイルを自動的に親ディレクトリのグループ所有にする設定。

使い方

chmod g+s ディレクトリ名

表示例(ディレクトリに設定)

drwxr-sr-x  2 user group 4096 Apr 28  2025 sharedir

👀 ポイント:
グループの実行権の位置に s が見える!


3. スティッキービット t

  • ディレクトリに設定すると、誰でもファイルを作れるけど削除・名前変更は所有者だけができるルールを作れます。
  • 代表例は /tmp ディレクトリ!

使い方

chmod +t ディレクトリ名

表示例

drwxrwxrwt  10 root root  4096 Apr 28  2025 /tmp

👀 ポイント:
末尾に t がついている!

umask

umask(ユー・マスク)は、新しくファイルやディレクトリを作成したときの「デフォルトのパーミッション(権限)を制限する仕組み」です。


🔹 基本の考え方

Linuxでは、ファイルやディレクトリを作成するときに、元となるパーミッション値があります。

種類元のパーミッション
ファイル666(rw-rw-rw-)
ディレクトリ777(rwxrwxrwx)

そこから umask の値を引き算して、最終的なパーミッションが決まります。


🔹 umaskの確認方法

たとえば、0002 と表示された場合、作成されるパーミッションは以下のようになります。

🔸 ファイルの例(666 – 002 = 664)

rw-rw-r--

🔸 ディレクトリの例(777 – 002 = 775)

rwxrwxr-x

🔹 umaskの設定方法(一時的)

umask 0027

この設定をしてファイルとディレクトリを作成すると・・・

  • ファイル:666 - 027 = 640 → -rw-r-----
  • ディレクトリ:777 - 027 = 750 → drwxr-x---


🔹 よく使うumask値とその意味

umaskファイルの権限ディレクトリの権限説明
0000666777誰でも読み書き実行可能(非推奨)
0022644755一般的な設定(他人は読み取りのみ)
0027640750他人には何も見せない
0077600700自分だけアクセスできる

最後に

パーミッションはLinuxを安全に使うための基礎知識です。最初は難しく感じるかもしれませんが、「誰に」「何の操作を許可するか」を意識して使えばすぐに慣れます。
自分のファイルを守りつつ、必要に応じて他のユーザーと共有できるようになりましょう!


よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次