
게시물에서window'sntfs의 리소스에 액세스,우리는 문제를 해결하고 데비안의 아파치가 창의 ntfs 파일 시스템의 리소스에 액세스하도록 하는 데 성공했습니다. 이제 데비안의 아파치가 창의 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
자동으로 마운트될 수 있습니다. 내 아파치 설정 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
내 아파치를 다시 시작하십시오 :
sudo systemctl restart apache2
입력 127.0.0.
하고 127.0.0.1/project
Firefox에서.
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/SHARED
디스크 파티션 에 있으므로 vfat
소유권을 변경할 수 없습니다 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
다음은 에 대한 답변입니다.실제이전 질문에서 이미 겪었고 해결 및 설명된 문제입니다. 문제가 오류를 유발하는 디렉터리 이외의 하나 또는 두 개의 디렉터리에 있다고 잘못 생각하고 있습니다. 문제는 바로 에 있습니다 /media/debian/
.
/media/someuser
와 같은 디렉토리를 멀리하십시오 /media/debian
. 필요할 때 각 사용자에 대해 동적으로 생성된 디렉터리를 사용하여 시스템에서 특별한 처리를 받습니다. 이 디렉토리는 "자리를 잡고 있는" 사용자에게만 해당되며 기본적으로 아파치 프로세스가 해당 디렉토리에 액세스하는 것을 허용하지 않습니다. 재부팅이나 간단한 로그오프/로그인으로 액세스 권한을 재설정하여 이전에 가능했더라도 Apache httpd가 다시 액세스하지 못하게 할 수도 있습니다.
다른 곳에 마운트 지점 디렉터리를 생성하면 됩니다. /srv/
또는 이라는 새 디렉터리 안에 있을 수도 있습니다 /data/
(또는 그 안에 있을 수도 있지만 /var/www/
권장하지는 않습니다).
예를 들어 루트로서 다음과 같습니다.
mkdir -p /srv/media/SHARED
그런 다음 모든 아파치 설정을 변경하고 /etc/fstab
대신 ./srv/media/SHARED
/media/debian/SHARED
의 경우처럼 사용자 권한을 동적으로 처리하는 도구와 충돌이 없기 때문에 /media/debian
Apache httpd의 사용자 www-data는 에 접근하는 데 권한 문제가 발생하지 않습니다 /srv/media/SHARED
.
이것이 이전에 의도된 목표였다면 debian
이 디렉토리는 이 사용자를 위해 예약된 디렉토리에 없기 때문에 사용자의 GUI가 직접 표시하지 않을 수 있습니다. /srv/media
또는 을 가리키도록 심볼릭 링크나 다른 데스크탑 방법을 추가하기만 하면 됩니다 /srv/media/SHARED
.
VFAT는 매우 제한된 파일 시스템이기 때문에 여전히 문제가 있을 수 있습니다. 이는 Operation not permitted
VFAT에서 일반적이고 예상되는 오류입니다.chown그리고chmodVFAT를 사용하지 않는 이상 수정할 수 없습니다. httpd(아마도 일부 옵션에 따라)는 실행 권한이 있는 파일에 대해 특별한 해석을 가질 수 있습니다. 그러한 경우가 발생하면 POSIX 파일 시스템을 고수하거나 적어도 다음과 함께 사용되는 ntfs를 사용하면 간단히 해결될 수 있는 별도의 문제가 됩니다.NTFS-3g비틀기와 함께 (.NTFS-3G/UserMapping
) 액세스 권한을 처리합니다. VFAT 또는 ExFAT를 피하세요.