27
18

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 5 years have passed since last update.

`ls -l` と `chmod` による謎の数字とアルファベットの意味まとめ

Last updated at Posted at 2018-04-11

はじめに

よくLinuxの手順書に chmod 644 ○○ とか chmod 755 ×× とか書いてあるのを見て、意味もわからず実行していませんか?
恥ずかしながら私はそうでした。
仕事ではなくプライベートな環境で実行することがほとんどなのであまり気にしていませんでしたが、やはり気になっているので、このあたりで意味をまとめることにします。

本記事の目標

以下のコマンドと出力結果の意味がわかるようになる。

$ ls -l
total 0
drwxr-xr-x 2 {ユーザー名} staff 64  4 12 00:14 bar
-rw-r--r-- 1 {ユーザー名} staff  0  4 12 00:14 foo.txt

$ chmod 666 foo.txt

$ ls -l
total 0
drwxr-xr-x 2 {ユーザー名} staff 64  4 12 00:14 bar
-rw-rw-rw- 1 {ユーザー名} staff  0  4 12 00:14 foo.txt

環境

  • OS:macOS High Sierra 10.13.1

Linuxでなくてすみません。
MacもUNIX系のOSなのでお許しください。

「ls -l」とは?

ファイルやフォルダの情報を出力するコマンド。
-l オプションを付けることで権限などの詳細な情報も出力されます。

出力結果の意味

# 左から順に、ファイルの種類, 権限, ハードリンク数, 所有者, グループ, サイズ(バイト), タイムスタンプ, ファイル名
$ ls -l
total 0
drwxr-xr-x 2 {ユーザー名} staff 64  4 12 00:14 bar
-rw-r--r-- 1 {ユーザー名} staff  0  4 12 00:14 foo.txt

barfoo.txt は「staff」グループのユーザーによって4/12 00:14に作成されたことがわかります。

ファイルの種類

記号 意味
- ファイル -
d フォルダ directory
l シンボリックリンク link

bar はフォルダなので d , foo.txt はファイルなので - となっています。

権限の見方については次のセクションで説明します。

「chmod」とは?

ファイルやフォルダのアクセス権を変更するコマンド。
「change file modes or Access Control Lists」の略。

各記号の意味

記号は x w r の3種類です。
記号があればその権限があり、 - ならば権限がないということです。

記号 意味
x 実行権限 execute
w 書き込み権限 write
r 読み込み権限 read

数字と記号の対応表

数字は0〜7の8進数であり、記号と以下のように対応しています。
2進数の足し算のように、右から1ずつ足していくのがポイントです。

数字 記号
0 ---
1 --x
2 -w-
3 -wx
4 r--
5 r-x
6 rw-
7 rwx

x=1, w=2, r=4 と覚えるのもいいです。
例えば「6」なら4+2なので「rw-」となります。

よく使うモード

モードは数字3桁で表します。
左から順に「所有者」「グループ」「その他のユーザー」のアクセス権限を表します。

モードの組み合わせは8の3乗で512通りもあるため、ここではよく使うモードのみ抜粋して紹介します。

数字 記号 説明 主な用途
600 rw------- 所有者のみ読み書き可 TBD
644 rw-r--r-- 所有者のみ書込可、他は読取専用
666 rw-rw-rw- 全ユーザーが読み書き可
700 rwx------ 所有者のみ読み書き実行可
755 rwxr-xr-x 所有者のみ書込可、他は読みと実行のみ可
777 rwxrwxrwx 全ユーザーが読み書き実行可

ls -l で出力される権限もこの記号と同様の意味です。

おわりに

最初に紹介したコマンドと出力結果の意味はわかりましたでしょうか?
foo.txt には所有者しか書き込み権限がなかったので、 chmod 666 foo.txt を実行して全ユーザーにも書き込み権限を付与したということでした。
その結果を ls -l で示しています。

これで権限にまつわる謎の数字やアルファベットも怖くありません!

参考リンク

27
18
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
27
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?