🥝

【Linux】ファイル・ディレクトリの権限確認と変更について

2023/08/04に公開

はじめに

ファイルやディレクトリの権限でアクセスできないことがあったので自分用にまとめました。

ファイルやディレクトリの情報について

確認方法

以下どちらかのLinuxコマンドでディレクトリ内の情報を確認します。
llコマンドの設定方法については割愛します。)

$ ll
$ ls -l

このような表示が出てきます。

-rw-r--r-- 1 user group 1200 Jan 25  2022 README.md
drwxr-xr-x 3 user group   96 Jan 25  2022 Test
lrwxr-xr-x 1 user group   31 Mar 15 00:04 Models -> /app/Models

情報の見方

ファイルやディレクトリの情報の見方は以下の通りです。

-rw-r--r-- 1 user group 1200 Jan 25  2022 README.md
情報 意味
-rw-r--r-- アクセス権
1 リンク数
user 所有者
group 所属グループ
1200 ファイルサイズ
Jan 25 2022 最終更新日
README.md ファイル・ディレクトリ名

アクセス権(パーミッション)について

アクセス権の見方

drwxr-xr-x 3 user group  96 Jan 25  2022 Tes
意味 説明
d(1文字目) 種別 ディレクトリ
rwx(2〜4文字目) 所有者のアクセス権 所有者に「読み取り」「書き込み」「実行」権限が付与
r-x(5〜7文字目) 所属グループのアクセス権 所有者に「読み取り」「実行」権限が付与
r-x(8〜10文字目) その他のユーザーのアクセス権 その他のユーザーに「読み取り」「実行」権限が付与

種別の種類

ファイルやディレクトリの種別は以下の3種類で表現されます。

種別 意味
- ファイル
d ディレクトリ
l シンボリックリンク

アクセス権の種類

アクセス権には以下の3種類があり、それぞれに数値が指定されています。

アクセス権 表記 数値 意味
読み取り r 4 read。ファイルの読み取りが可能 ( 内容表示など )
書き込み w 2 write。ファイルへの書き込みが可能 ( 編集や上書きコピーなど )
実行 x 1 execute。ファイルの実行が可能 ( プログラムやシェルスクリプトの実行 )

※ファイルへのアクセス権限にreadの許可があっても、ディレクトリのexecute許可がなければファイルにアクセスできません。

アクセス権の指定方法

アクセス権は、chmodコマンドにより変更することができます。
数値で指定する方法とアルファベットで指定する方法があります。

1. 数値で指定する

[所有者の権限][所属グループの権限][その他のユーザーの権限]で設定します。

実行例

  • 所有者:読み取り・書き込み・実行
  • 所属グループ:読み取り・実行
  • その他のユーザー:読み取り・実行
$ chmod 755 index.html

早見表

https://zenn.dev/chamo/articles/fe98c8c8e65138

2. アルファベットで指定する

アクセス権はカテゴリーと定義の組み合わせでも指定することができます。

カテゴリー

カテゴリー 説明
u 所有者
g 所属グループ
o その他のユーザー
a 全てのユーザー

定義

定義 説明
+ アクセス権の追加
- アクセス権の削除
= アクセス権の指定

実行例

  • 所属グループとその他のユーザーに書き込みの権限を追加
$ chmod go+w index.html

おわりに

「アクセスできない」などのエラーが出たら、権限周りを確認してみましょう。
また、適切な対象に対し、適切な権限を付与することが大切です。

参考記事

https://qiita.com/shisama/items/5f4c4fa768642aad9e06
https://www.infraeye.com/study/linuxz26.html

Discussion