LoginSignup
0
1

More than 1 year has passed since last update.

[Linux初心者] ファイルの読み取り権限があるのに読めない

Last updated at Posted at 2021-06-13

はじめに

Linux初心者の私が、ファイルやディレクトリの権限について分かりにくかった点をまとめました。

つまづいた点

user_aの所有するファイルを別のユーザー(user_b)から読み取ってみます。
該当ファイルはtempディレクトリにあり、他のユーザーからも読み取れるように権限が設定されています。

user_a@raspberrypi:/home $ ls -l /home/user_a/temp
合計 4
-rw-r--r-- 1 user_a user_a 10  6月 13 19:36 file

tempディレクトリにも読み取り権限が設定されています。

user_a@raspberrypi:/home $ ls -l /home/user_a
合計 4
drwxr-xr-- 2 user_a user_a 4096  6月 13 20:08 temp

この状態で、別のユーザー(user_b)から同ファイルを読もうとするとエラーとなります。

user_b@raspberrypi:~ $ cat /home/user_a/temp/file
cat: /home/user_a/temp/file: 許可がありません

何が問題だったのか?

tempディレクトリの権限を変更して、別のユーザーに(読み取り権限に加えて)実行権限を与えてみます。

user_a@raspberrypi:/home $ chmod 755 /home/user_a/temp
user_a@raspberrypi:/home $ ls -l /home/user_a
合計 4
drwxr-xr-x 2 user_a user_a 4096  6月 13 20:08 temp

この状態なら、別のユーザー(user_b)から同ファイルを読むことができます。

user_b@raspberrypi:~ $ cat /home/user_a/temp/file
aaabbbccc

つまり、ファイルを読むためには、同ファイルの置かれたディレクトリに実行権限が必要だということになります。

追加で検証

次にtempディレクトリの権限を変更して、別のユーザーには(読み取り権限は与えず)実行権限だけを与えてみます。

user_a@raspberrypi:/home $ chmod 751 /home/user_a/temp
user_a@raspberrypi:/home $ ls -l /home/user_a
合計 4
drwxr-x--x 2 user_a user_a 4096  6月 13 20:08 temp

この状態でも、別のユーザー(user_b)から同ファイルを読むことができます。

user_b@raspberrypi:~ $ cat /home/user_a/temp/file
aaabbbccc

まとめ

ファイルを読み取るためには、同ファイルの読み取り権限に加え、同ファイルの置かれたディレクトリの実行権限が必要です。

また、ファイルへの書き込みについても同様のことが成り立ちます。
ファイルに書き込みをするためには、同ファイルへの書き込み権限に加え、同ファイルの置かれたディレクトリの実行権限が必要です。

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