パーミッションについて

パーミッションとは?

端的に言うとファイルやディレクトリに対するアクセス権のことを言います。
アクセス権と一概に言っていますが、ファイルやディレクトリに対する「読み取り」、「書き込み」、「実行」の3つの権限が設定されています。
権限が認められていない場合、例えば「書き込み」権限を持っていない人がファイルを編集をしようとしてもできません。

上手くパーミッションを使いこなせばセキュリティを高めることができたりします。

確認方法・見方

確認方法

ll
ls -l
上記コマンドで以下のように表示されます。

赤枠内の表記からパーミッションが判別できます。
一応表示されている項目は左から
・ファイルタイプ、パーミッション
・ハードリンクの数
・オーナー名
・グループ名
・バイトサイズ
・タイムスタンプ
・ファイル名
になります。

見方

1文字目がファイルタイプになります。
-がファイル、dがディレクトリ、lがシンボリックリンクであることを示します。
2文字目以降が各権限を示します。
が、2文字目以降をさらに3文字ずつに分割して読みます。
2文字目~4文字目がファイルの所有者(オーナー)の権限を示し、
5文字目~7文字目が所有グループに対する権限を示し、
残りの8文字目~10文字目は上記以外に対する権限を示します。
そして、表示されるアルファベットで付与されてる権限を判断でき、
以下表示順と対応する権限になります。

  • r :読み取り権限
  • w :書き込み権限
  • x :実行権限
    権限が付与されていないときは「-」が表示されます。

変更方法

chmod 'パーミッション' 'ファイル名orディレクトリ名'
指定する「パーミッション」は3桁の数字になります。
例:777,755,631...etc
この数字は、左からファイルの所有者、所有グループ、それ以外に対する権限を示しています。
どっから数字出てきたのと疑問かもしれませんが、これは2進数(付与されてたら1)を8進数に変換した数字になります。
が、簡単に「r:読み取り」が4点、「w:書き込み」が2点、「x:実行」が1点として各対象ごとに付与されてる権限の点数を合計した点数が3つならんだ数字になります。
例:[777]→[731]

[731]→[510]

[510]→[777]

こんな感じで基本的に変えることができます。
パーミッションを変えて影響があるような場合もあるので注意しましょう。