デプロイ中にパーミッションで行き詰まったので、学習しながらまとめます。
パーミッションとは
パーミッションとは、フォルダやファイルへのアクセス権です。
アクセス権を最小に設定することでセキュリティを担保します。
複数のファイルを持つディレクトリでも、ディレクトリだけにパーミッションを設定すればいいというものではなく、ファイルとディレクトリ個々に設定が必要です。
※ディレクトリへのパーミッションは、あくまでフォルダに対するもの。
〇パーミッションで設定できる3つの権限
・読み取り権限
・書き込み権限
・実行権限
ターミナル上でのパーミッションの表記法
読み取り権限 | 書き込み権限 | 実行権限 | |
---|---|---|---|
アルファベット表記 | r | w | x |
数値表記 | 4 | 2 | 1 |
パーミッションは、8進数を3つ組み合わせた形表します
-rw-rw-r--. 1 root root 193 11月 13 11:17 test.txt
drwxr-xr-x. 2 test test 6 8月 1 12:45 ダウンロード
ターミナル上では上記のように表示されます。
行の左端、-rw-rw-r--
、drwxr-xr-x
がパーミッションです。
アルファベット表記
下記のように3つのユーザーごとに権限が振られています。
-rw- | rw- | r-- |
---|---|---|
所有者 | グループ | その他 |
例えば、表のように表示されている場合は、所有者に読み取り権限・書き込み権限が与えられ、実行権限はありません。
また、所有者にd
が付いている場合は、ディレクトリを表しています。
数字表記
数字の表記では、各ユーザーごとに、数値を足して表します。
-rw- | rw- | r-- |
---|---|---|
所有者 | グループ | その他 |
4+2 | 4+2 | 4 |
6 | 6 | 6 |
パーミッションの変更方法
コマンドで変更する方法とFTPソフトで変更する方法の2通りあります。
※ここでは、コマンドでの変更方法のみ扱います。
コマンドでの変更方法
パーミッションを変更できるユーザーは、ファイルとディレクトリの所有者、またはrootユーザーです。
パーミッションを変更するコマンド
chmod アクセス権 ファイルorディレクト名
操作対象 | 記号 |
---|---|
所有者 | u |
グループ | g |
その他のユーザー | o |
全てのユーザー | a |
権限操作 | 記号 |
---|---|
アクセス権限の追加 | + |
アクセス権限の削除 | - |
アクセス権限の指定 | = |
操作権限 | 記号 |
---|---|
読み取り権限付与 | r |
書き込み権限付与 | w |
実行権限付与 | x |
例)
chmod u+w test.text
chmod 666 test.text
参考記事