私はこの問題が展開とハードウェアに関連していないと確信しています。 root:minidlnaと権限775を使用してminidlna用に設定されたディレクトリ(およびサブディレクトリ)を持つext4でフォーマットされたUSBドライブがあります。最近、同じユーザー名を使用してminidlnaもインストールされている新しいインストールに移動されました。ただし、この新しいインストールでは、minidlnaはこのディレクトリの内容を読み取ることができません。各ケースのハードウェアは、Ubuntu Server 21.04がインストールされているRaspberry Pi 4です。
(また、このディレクトリをrootとしてアクセスするNextcloudのSnapインストールインスタンスのデータディレクトリとして、このディレクトリを親として指定し、既存のディレクトリにrootとして新しいファイルを作成すると、一部の権限拒否の問題が発生します!問題が疑われます。関連があり、minidlnaの理由を理解すると、nextcloud snapも理解します。
次の提案を確認しました。
id minidlna
uid 112 と gid 120 を返し、ls -aln
一致する gid 120 を返します。
drwxrwxr-x 17 0 120 4096 8月10日16時55分。
これを保証するためにchown -R 112:120
ディレクトリを操作しましたが、まだ違いはありません。 minidlnaデーモンを再起動してステータスを確認すると、常に(切り捨て)
minidlna.c:670: エラー: メディア ディレクトリ '/media/path_to/directory' にアクセスできません。 [権限が拒否されました。]
答え1
ファイルシステムはユーザーを保存しません。名前、数値UIDのみを保存します。あるシステムではUID 123、別のシステムではUID 142でユーザーを作成した場合、minidlna
ホスト間でファイルシステムを移動すると不一致が発生します。
これが起こらないようにすることが管理者の仕事です。 DebianとUbuntuはUID 100から順番にシステムユーザーを作成すると考えていますが、両方のシステムに異なるソフトウェアをインストールしたり(または同じソフトウェアを異なる順序で!)インストールしたりすると、UID番号は一致しません。
/etc/passwd
3番目のフィールドUIDを確認してください。
状況を解決するには、ホストの1つからminidlnaに関連するすべてのエントリを削除し、他のホストと同じUIDを持つユーザーを作成してから、すべてのエントリを再インストールするだけです。もちろん、使用したいUIDが無料であることを確認してください。
たとえば、UID 123とUID 142がホストAで使用可能で、UID 142とUID 123がホストBで異なる目的で使用されている場合は、ホストminidlna
Aminidlna
で番号を再指定します。
これは、ユーザーで作成できるすべてのグループにほぼ同じです。確認してください/etc/group
。 4番目のフィールドはにあります/etc/passwd
。