Linuxのパーミッションとは?初心者にもわかりやすく解説

Linuxを使い始めると必ず目にする「パーミッション(permission)」。これはファイルやディレクトリに設定されたアクセス権限のことを指します。適切に設定することで、セキュリティを高めたり、複数人で安全に作業したりすることができます。

本記事では、パーミッションの基本から具体的な使い方、注意点まで丁寧にご説明いたします。


パーミッションとは?

Linuxでは、各ファイルやディレクトリに「誰が、どのような操作をできるか」という権限が設定されています。これがパーミッションです。

パーミッションには以下の3種類の操作があります。

権限記号内容
読み取りrファイルの内容を読む/ディレクトリの中身を一覧表示する
書き込みwファイルを編集する/ディレクトリ内に作成・削除を行う
実行xファイルを実行する/ディレクトリに移動・アクセスする

誰に対するパーミッションか

パーミッションは、以下の3つのユーザー種別に対して個別に設定されます。

ユーザー種別意味
所有者(user)ファイルやディレクトリを作成した人
グループ(group)所有者が属するユーザーグループ
その他(others)上記以外のすべてのユーザー

パーミッションの表示例

以下のコマンドで、パーミッションを確認できます。

ls -l ファイル名

出力例:

-rw-r--r--
部分意味
-通常のファイル(ディレクトリなら d
rw-所有者:読み・書き可、実行不可
r--グループ:読み取りのみ
r--その他:読み取りのみ

数値(8進数)による表現

パーミッションは、数値でも指定できます。

権限数値
読み取り(r)4
書き込み(w)2
実行(x)1

例えば、chmod 755 ファイル名 は以下の意味になります。

  • 所有者:7(4+2+1 = rwx)
  • グループ:5(4+0+1 = r-x)
  • その他:5(4+0+1 = r-x)

chmod コマンドでの設定方法

chmod を使うことで、権限を変更できます。

数値指定

chmod 644 sample.txt

記号指定

chmod u+x script.sh      # 所有者に実行権を追加
chmod g-w file.txt       # グループから書き込み権を削除
chmod o=r file.txt       # その他を読み取り専用に設定
記号対象
u所有者(user)
gグループ(group)
oその他(others)
a全員(all)

所有者・グループの変更

以下のコマンドで、ファイルの所有者やグループを変更できます。

chown mori:staff report.txt

この例では、所有者を mori、グループを staff に設定しています。


特殊なパーミッション(上級者向け)

権限記号意味
setuids実行時に所有者の権限で動作(例:passwd
setgids実行時にグループの権限で動作/ディレクトリ内のファイルに同じグループを継承
sticky bittディレクトリ内のファイルを、その所有者しか削除できない(例:/tmp

例:

chmod 4755 sample.sh   # 所有者実行時にsetuidを付与
chmod +t /shared_dir   # sticky bitを有効化

パーミッション設定の注意点

  • 777(rwxrwxrwx) は、全ユーザーにすべての権限を与えるため、非常に危険です。
  • 実行可能なスクリプトやバイナリ以外には、x 権限は極力付けないようにしましょう。
  • 複数人で作業する場合は、グループ管理も重要です。

まとめ

Linuxのパーミッションは、システムの安全性や運用効率に深く関わる重要な要素です。
最初は少し難しく感じるかもしれませんが、基本的な考え方とコマンド操作に慣れれば、自在に管理できるようになります。

不適切なパーミッションは、情報漏洩や不正なアクセスを招くリスクもあるため、ぜひ本記事を参考に正しい理解を深めてください。

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

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。