ext4外付けドライブの権限の問題

ext4外付けドライブの権限の問題

サーバーに接続されている外付けハードドライブの権限に関連する奇妙なエラーが発生しました。 Transmissionを有効にしてそのフォルダに急流をダウンロードしようとしましたが、権限エラーのためにディレクトリを作成できないことがわかりました。
自分でテストした結果、ユーザーとして実行されているデーモンが自分transmissionが所有するフォルダー内にディレクトリを作成できないことがわかりました。755話権限。
私はそれが奇妙なinodeのうわさであるかもしれないと思ったが、fsckすべてがうまく戻ってきて、すべてが正常に見えた。

matoro@matoro-server ~ $ ls -i /run/media/matoro/drive-data
total 40
43253761 drwxr-xr-x  5 matoro       matoro        4096 Apr 11  2017 backup
11796481 drwxr-xr-x  3 matoro       matoro        4096 Oct 28 22:40 iso
37568568 drwxr-xr-x  2 matoro       matoro        4096 Apr 23  2017 pending
42336296 drwxr-xr-x  3 matoro       matoro        4096 Oct 25 01:26 podcasts
38141969 drwxr-xr-x 39 matoro       matoro       12288 Sep 18 22:05 reading
37519377 drwxr-xr-x  3 transmission transmission  4096 Oct 30 17:10 seeding
37490784 drwxr-xr-x  4 matoro       matoro        4096 Oct 30 17:09 videos
42336292 drwxr-xr-x  3 matoro       matoro        4096 Oct 25 01:23 youtube
matoro@matoro-server ~ $ ls -ia /run/media/matoro/drive-data/seeding
total 912160
37519377 drwxr-xr-x  3 transmission transmission      4096 Oct 30 17:10  .
       2 drwxr-xr-x 11 matoro       matoro            4096 Nov  3 14:56  ..
37584902 drwxr-xr-x  3 transmission transmission      4096 Aug 10  2016 'some directory'
37488367 -rw-r--r--  1 transmission transmission 430297088 Aug 14  2016  some_file
matoro@matoro-server ~ $ sudo -u transmission mkdir -v /run/media/matoro/drive-data/seeding/test
mkdir: cannot create directory ‘/run/media/matoro/drive-data/seeding/test’: Permission denied

以下は関連するインストールオプションです。

/dev/sdc3 on /run/media/matoro/drive-data type ext4 (rw,nosuid,nodev,noexec,noatime,data=ordered,uhelper=udisks2)

原因は何ですか? ACLと関係がありますか?

答え1

コマンドはmkdirディレクトリ構造を参照して既存のディレクトリを見つけ、そのディレクトリに/run/media/matoro/drive-data/seedingエントリを追加する必要があります。必要な権限は次のとおりです。

  1. x特許/
  2. x特許/run
  3. x特許/run/media
  4. x特許/run/media/matoro
  5. x特許/run/media/matoro/drive-data
  6. wそしてx許可/run/media/matoro/drive-data/seeding

(もちろん、すべてディレクトリでなければならず、作成したいディレクトリが存在してはいけません)

そのうちの1つを逃したでしょう(おそらく#4または#5)。/run/media/matoro/drive-data/seedingこれは、プロセスがすでに現在のディレクトリにある場合に発生する可能性があります(ディレクトリに入ってから親ディレクトリの権限が変更された場合、またはプロセスがuidsに切り替えられた場合)。mkdir test権限#6だけが必要な場合(wおよびx現在のディレクトリで)成功しますが、同じ場所を参照してもmkdir /run/media/matoro/drive-data/seeding/testすべての権限が必要です。x

複数のコンポーネントを含む絶対パスまたは相対パスを使用している場合は、x上記の各親ディレクトリに対して権限チェックが実行されます。

関連情報