【LPIC基礎学習】Linuxのパーミッションと所有権について

王冠 LPIC1 学習記録

1. はじめに(このページの目的)

Linuxを使っていて最初に戸惑うのが「パーミッションってなに?」「誰が何をできるの?」というアクセス権限の仕組みです。
この記事では、LPICレベル1の学習範囲として、Linuxのパーミッションと所有者の基本を解説します。
実際に手を動かして確認できるように、コマンド解説と練習問題も取り入れています。

2. 作業前の確認ポイント

  • Linux環境(Rocky Linux, Ubuntu, WSLなど)が利用可能である
  • cd, ls などの基本コマンドに慣れている
  • 練習用のファイルやスクリプトを自由に作れる作業ディレクトリがある
  • 基本的にすべての操作を自分の手で試す意欲がある

3. 実施手順(ステップ構成)

ステップ1:パーミッションとは何か?

Linuxでは、ファイルやディレクトリごとに誰がどの操作をできるかを制御できます。これをパーミッション(アクセス権)と呼びます。

対象となるユーザーは以下の3種類に分類されます:

  • 所有者(user):ファイルを作成した本人
  • グループ(group):所有者が所属するグループ
  • その他(others):それ以外の全ユーザー

それぞれに対して付与できる権限は以下のとおりです:

  • r(read):読み取り
  • w(write):書き込み
  • x(execute):実行

ステップ2:パーミッションを確認する

ls -l

lsは「list(一覧表示)」の略で、-lオプションを付けることで詳細情報を表示できます。
パーミッション、所有者、サイズ、更新日時などが表示されます。

ステップ3:パーミッションを変更する(chmod

chmod 755 script.sh

chmodは「change mode」の略で、アクセス権を変更できます。

  • 7 = rwx(読み・書き・実行)
  • 5 = r-x(読み・実行)

この例では、所有者はすべて許可グループとその他は読み・実行のみ許可という設定になります。

ステップ4:所有者・グループを変更する

sudo chown alice test.txt
sudo chgrp dev test.txt
  • chown(change owner):ファイルの所有者を変更
  • chgrp(change group):グループを変更

sudoを付けることで、管理者権限での実行が可能になります。

ステップ5:注意点と落とし穴

  • chmod 777全員にすべての権限を与える設定。セキュリティ上おすすめできません
  • Permission deniedというエラーは、多くの場合「実行権限がない」ことが原因です
  • chownchgrpは通常ユーザーでは実行できず、sudoが必要です

4. 実践してみよう(練習問題)

以下の課題に取り組んで、実際の挙動を確認しましょう。

練習①:ファイルを作成し、パーミッションを確認

touch test1.txt
ls -l test1.txt

touch:空のファイルを作成
ls -l:パーミッションや所有者を確認

出力例:-rw-r--r--

練習②:実行権限を付与してスクリプトを実行

echo "echo Hello World" > hello.sh
chmod +x hello.sh
./hello.sh
  • echo:文字列を表示
  • >:リダイレクト(ファイルに出力)
  • chmod +x:実行権限を追加
  • ./:カレントディレクトリから実行

練習③:所有者を変更する

sudo chown yourname test1.txt
ls -l test1.txt

chown:所有者を変更
yournameは自分のユーザー名に置き換えてください

5. 接続確認とトラブルシューティング

エラー 原因 対処法
Permission denied 実行権限がない chmod +xで実行権を付与
Operation not permitted sudoをつけていない sudoをつけて再実行
Command not found 綴りミス or 実行パスの指定不足 コマンド確認 or ./をつけて実行

6. 補足情報まとめ

パーミッションの数値と意味

数値 意味 記号
7 読み・書き・実行 rwx
6 読み・書き rw-
5 読み・実行 r-x
4 読みのみ r–
0 権限なし

登場した主なコマンド一覧

コマンド 説明
ls -l パーミッション・所有者の確認
chmod パーミッションの変更
chown 所有者の変更
chgrp グループの変更
touch 空ファイルの作成
echo 文字列を出力
./ カレントディレクトリから実行

7. まとめ

  • Linuxのパーミッションは「誰が何をできるか」を制御する基本機能
  • chmodでの変更、chownchgrpでの所有権変更が重要
  • 777のような設定は極力避ける
  • 「確認 → 変更 → 実行 → 結果を見る」の流れを意識すると理解が深まる

8. 参考リンク

コメント