DebianのApacheにWindowsのvfatファイルシステムのリソースにアクセスさせる方法は?

DebianのApacheにWindowsのvfatファイルシステムのリソースにアクセスさせる方法は?

本文からwindowsntfsのリソースにアクセスする、問題が解決され、DebianのApacheがウィンドウのntfsファイルシステムのリソースにアクセスできるようになりました。これで、DebianのApacheがウィンドウのvfatファイルシステムのリソースにアクセスできることを願っています。

ディスクパーティションがフォーマットされsda2ましたvfat

sudo blkid |grep 995A
/dev/sdb2: LABEL="SHARED" UUID="5E9C-995A" TYPE="vfat" PARTLABEL="Basic data partition" PARTUUID="efdeb9ab-e920-40e6-9d24-df672b8806e9"

/etc/fstab 自動的にインストールされるように構成を作成しました。

UUID=5E9C-995A  /media/debian/SHARED vfat auto ,sync,umask=000 ,rw 0  0

これで/dev/sda2自動的にインストールできます。私のApacheの設定は次のとおりdebianです

cat /etc/apache2/sites-enabled/000-default.conf
<VirtualHost *:80>
 ServerName localhost
 DocumentRoot  /media/debian/SHARED/project 
 Alias  /project  "/media/debian/SHARED/project/build/html"
 <Directory /media/debian/SHARED/project>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
 </Directory>
</VirtualHost>

権限の/media/debian/SHARED/project設定

sudo chmod -R 644 /media/debian/SHARED/project

私のApacheを再起動します。

sudo systemctl restart apache2

Firefoxでとを入力します 127.0.0.127.0.0.1/project

Forbidden    
You don't have permission to access this resource.
Apache/2.4.25 (Debian) Server at 127.0.0.1 Port 80

ログを確認してください。

sudo cat /var/log/apache2/error.log

[Wed Aug 12 17:11:58.727479 2020] [core:error] [pid 3149] (13)Permission denied: [client 127.0.0.1:56434] AH00035: access to / denied (filesystem path '/media/debian/SHARED') >because search permissions are missing on a component of the path     
[Wed Aug 12 16:53:37.958950 2020] [core:error] [pid 3061] (13)Permission denied: [client 127.0.0.1:56158] AH00035: access to /project/ denied (filesystem path '/media/debian/SHARED') because search permissions are missing on a component of the path

所有権を表示/media/debian/SHARED/project

ls -al  /media/debian/SHARED/project
total 304
drwxr-xr-x 14 root root 16384 Aug 12 14:19 .
drwxr-xr-x  4 root root 16384 Jan  1  1970 ..
drwxr-xr-x  4 root root 16384 Aug 12 14:18 build

/media/debian/SHAREDvfatディスクパーティションにあるため、所有権を変更することはできませんchown

sudo chown -R www-data.www-data /media/debian/SHARED/project
chown: changing ownership of '/media/debian/SHARED/project': Operation not permitted

Apacheがvfatパーティションのリソースにアクセスできるようにする方法、段階的なソリューションを高く評価します。

ベストアンサー1

これが質問に対する答えです実際問題、以前の質問で既にこの問題が発生し、解決され説明されています。問題がエラーを引き起こしたディレクトリではなく、1つまたは2つのディレクトリにあると考えました。それが問題です/media/debian/

/media/someuserのようなものを遠ざけてください/media/debian。システムによって特別に処理され、必要に応じて各ユーザーに対してディレクトリが動的に作成されます。このディレクトリは「座席を持つ」ユーザーにのみ適用され、デフォルトではApacheプロセスはそのディレクトリにアクセスできません。再起動または簡単なログアウト/ログインが原因でアクセス権がリセットされ、以前は可能でしたが、Apache httpdが再びアクセスできなくなる可能性があります。

他の場所にマウントポイントディレクトリを作成するだけです。/srv/またはという新しいディレクトリにあるかもしれません/data/(またはディレクトリにあるかもしれませんが、それは/var/www/お勧めできません)。

たとえば、ルートとして:

mkdir -p /srv/media/SHARED

次に、すべてのApache設定を変更し、/etc/fstab代わりに。/srv/media/SHARED/media/debian/SHARED

のようにユーザー権限を動的に処理するツールと競合しないため、/media/debianApache httpdのユーザーwww-dataにアクセス権限の問題は発生しません/srv/media/SHARED

これが目的の目標である場合、ユーザーdebianのGUIはこのディレクトリがこのユーザーのために予約されているディレクトリにないため、直接表示しない可能性があります。/srv/mediaまたはを指すようにシンボリックリンクまたは他のデスクトップ方法を追加するだけです/srv/media/SHARED


VFATは非常に限られたファイルシステムなので、まだ問題がある可能性があります。これはOperation not permittedVFATで正常で予想されるエラーです。ジョンそしてchmodVFATを使用しないと、この問題は修正できません。 httpd(おそらくいくつかのオプションに応じて)は、実行権限を持つファイルに対して特別な解釈を持つことができます。これが発生すると、POSIXファイルシステムに固執するか、少なくともntfsを使用して解決できる別の問題になります。NTFS-3G調整する(.NTFS-3G/UserMapping)アクセス権を処理します。 VFATまたはExFATを避けてください。

おすすめ記事