0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Linuxのパーミッションを理解する - rwxの意味とchmodコマンドの使い方

Posted at

パーミッションとは?

パーミッションとはファイル、ディレクトリに設定された
「読む・書込み・実行」の3つの権限のことをいいます。

そして、この権限は

  • 所有者
  • 所有グループに属するユーザー
  • その他のユーザー

に対してそれぞれ設定されます。

  • ログインしているユーザーの表示はwhoamiコマンド
  • ユーザーのリストはcat /etc/passwdコマンドで確認ができます。

所有者・所有グループとは??

ファイル・ディレクトリを作成したユーザーが所有者となります。
そして所有者のプライマリグループが所有グループとなります。

$ ls -l
-rwxrw-r--  1 root   root   970775 Feb  7 00:47 hoge.php

最初の root が所有者、2番目の root が所有グループとなります。

所有者を変更する場合は chown (change owner) コマンド
所有グループを変更する場合は chgrp (change group) コマンド

を実行します。

プライマリグループとは
各ユーザーは必ず1つのプライマリグループ(主グループ)に所属しています。
これは、ユーザーが作成されたときに自動的に割り当てられるグループです。

ファイルのアクセス権

ファイルのアクセス権は

  • 所有者
  • 所有グループに属するユーザー
  • その他のユーザー

に対して3つの権限を設定します。

  • 読み取り = r(Read)
    • テキストファイルを開いて内容を読む権利(cat、less、more コマンドでファイルの内容を表示ができる)
  • 書き込み = w(Write)
    • テキストファイルを編集して保存する権限
  • 実行 = x(eXecute)
    • シェル、プログラムの実行権

先ほどのコマンドを例に見てみましょう!

$ ls -l
-rwxrw-r--  1 root   root   970775 Feb  7 00:47 hoge.php

最初の10文字-rwxrw-r--がパーミッションを示しています。

  1. 一文字目の-はファイルの種類になります。
  • - 通常のファイル
  • d ディレクトリ
  • l シンボリックリンク(ショートカットのようなもの)
  1. 続いてrwxrw-r--の9文字は3つに分けて権限を表しています。
  • rwx 所有者の権限
    • 読み取り・書き込み・実行が可能
  • rw- 所有グループの権限
    • 読み取りと書き込みが可能(実行不可)
  • r-- その他ユーザーの権限
    • 読み取りのみ可能

アクセス権は数字で表示されることもある

先ほどのrwxrw-r--764とも表記されます。

  • 読み取りは 4
  • 書込みは 2
  • 実行は 1

となるのでrwxは合計すると7になるということです!

例:
rwx = 4 + 2 + 1 = 7
rw- = 4 + 2 + 0 = 6
r-- = 4 + 0 + 0 = 4

ディレクトリのアクセス権

ディレクトリのアクセス権は基本的にファイルと同様ですが、
一部ややこしい箇所があります!

ls -ld lang
drwxr-xr-x 15 root root 4096 Jan  8 05:13 lang
  • ディレクトリ読み取り権(r)
    • lsコマンドでフォルダの中身を参照できます。
  • ディレクトリ書き込み権(w)
    • 設定されたフォルダ内で新しいファイル・フォルダの作成、変更、削除ができます。
    • ただし、実行権限(x)がないとこれらの操作は実行できません。
  • ディレクトリ実行権(x)
    • ディレクトリにcdで移動ができます。

ややこしいのですが、WとXはお互い依存していて
書込み権限があっても、実行権がないと作成・編集・削除が実行できないのです!

例えば r-x の権限では
ディレクトリの中身を見たり移動したりできますが、
ディレクトリ内のフォルダ・ファイルを編集することはできません。

パーミッションの変更

パーミッションを変更するには chmod コマンドを実行します。
そしてchmodコマンドの使い方は2種類あります。

chmodを実行できるのは所有者もしくはrootユーザーのみになります。

1. 数値で指定

# 所有者に全権限、グループとその他に読み取りと実行のみ
chmod 755 script.sh

# 所有者に全権限、グループに読み書き、その他に読み取りのみ
chmod 764 data.txt

2.文字で指定

  • 対象

    • u = 所有者(user)
    • g = グループ(group)
    • o = その他(others)
    • a = 全て(all)
  • 操作

    • + = 権限を追加
    • - = 権限を削除
    • = = 権限を設定
  • 権限:

    • r = 読み取り
    • w = 書き込み
    • x = 実行
# 所有者に実行権限を追加
chmod u+x script.sh

# グループから書き込み権限を削除
chmod g-w file.txt
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?