1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Linux】パーミッションを分かりやすく説明したい

Last updated at Posted at 2021-02-19

はじめに

Linux と書きましたが、MacOS でも大体一緒です。
初心者向けにできるだけ分かりやすく説明したいと思います。

環境構築をしたりするときに以下のような謎のコマンドを見て

$ chmod 777 foo.text

「権限の変更をしてるらしいが、 777 ってどういう意味?」と思ったり

ls -l を実行すると

$ ls -l sample.rb
-rw-r--r--  1 taro  staff  176  2 18 12:00 sample.rb

-rw-r--r-- ってなんだ..?

ということがあると思います。

パーミッションとは何か

パーミッションとは

所有者・グループ・それ以外 が ファイルやディレクトリに対して 読取・書込・実行
を行えるかどうかの許可があるかどうかです。

※所有者とは何か、グループとは何かなどについてはググってみてください。
※ディレクトリの読取・書込・実行 とは何? ってなった方もググってみてください、ここでは割愛します。

例えば...

所有者読取・書込・実行 全てがができる
グループ読取・実行 だけができる
それ以外読取 だけができる

などです。

ちなみに上記の例でいうとファイルの権限は -rwxr-xr--754 と表されます。

謎の記号 -rwxr-xr--754 についての説明

-rwxr-xr--(アルファベット + ハイフン形式)

こちらについてはなんとなく想像つくかもしれません。

r が読取、 w が書込、 x が実行を表しています。

こちらを分解すると以下のようになります。

1文字目 2~4文字目 5~7文字目 8~10文字目
ファイル or ディレクトリ 所有者 グループ それ以外
- (ファイル) rwx (読・書・実) r-x (読・実) r-- (読)

この表を見ればもう大丈夫だとは思いますが、一応解説します。

1文字目はファイルかディレクトリかを表しています。ファイルの場合は - 、ディレクトリの場合は d で表されます。
もし上記がディレクトリの権限だったら drwxr-xr-- になります。

754(数字3桁形式)

こちらについては初見では全く想像がつかないと思います。

こちらも分解してみましょう。

1文字目 2文字目 3文字目
所有者 グループ それ以外
7 5 4

この表のようになります。

所有者 → グループ → それ以外の順で表現しているのは -rwxr-xr-- の形式の場合と一緒ですね。

しかし、

「いやいや、数字一桁だけで読取・書込・実行それぞれの権限が表せるのかよ...」

と思った方もいるかもしれませんが...

読取4書込2実行1としてその和で表現すると表せます。

例えば...

7 の組み合わせは 4 + 2 + 1 の一通りで 権限は 読取・書込・実行 となります。

6 の組み合わせは 4 + 2 の一通りで 権限は 読取・書込 となります。

5 の組み合わせは 4 + 1 の一通りで 権限は 読取・実行 となります。

こんなふうに 読取4書込2実行1と定義してその和で表すことで、数字一桁でも3つの権限の表現ができるんですね。

覚えるコツ(余談)

自分は、
「読み書き実行4・2・1!、読み書き実行4・2・1! ~ 」と繰り返し唱えたら1分ほど覚えました。

※ 特に覚えなくてはならないわけではないですが、よく使うので覚えるのをおすすめします。

練習問題

644 の所有者・グループ・それ以外のそれぞれの権限は何か?

(※答えはググってください!)

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?