
Na postagemacessar recurso no window'sntfs, resolvemos o problema, conseguimos fazer o apache no debian acessar o recurso no sistema de arquivos NTFS da janela, agora quero fazer o apache no debian acessar o recurso no sistema de arquivos vfat da janela.
A partição do disco sda2
está vfat
formatada.
sudo blkid |grep 995A
/dev/sdb2: LABEL="SHARED" UUID="5E9C-995A" TYPE="vfat" PARTLABEL="Basic data partition" PARTUUID="efdeb9ab-e920-40e6-9d24-df672b8806e9"
Eu escrevo uma configuração /etc/fstab
para montá-lo automaticamente.
UUID=5E9C-995A /media/debian/SHARED vfat auto ,sync,umask=000 ,rw 0 0
Agora o /dev/sda2
pode ser montado automaticamente. Minha configuração do Apache em 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>
Definir permissão para /media/debian/SHARED/project
.
sudo chmod -R 644 /media/debian/SHARED/project
Reinicie meu apache:
sudo systemctl restart apache2
Para inserir 127.0.0.
e 127.0.0.1/project
no Firefox.
Forbidden
You don't have permission to access this resource.
Apache/2.4.25 (Debian) Server at 127.0.0.1 Port 80
Para verificar o registro:
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
Exibir a propriedade em/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
localizado na vfat
partição do disco, não pode ser alterado a propriedade com chown
.
sudo chown -R www-data.www-data /media/debian/SHARED/project
chown: changing ownership of '/media/debian/SHARED/project': Operation not permitted
Como fazer o apache acessar o recurso na partição vfat, solução passo a passo é apreciada.
Responder1
Aqui está uma resposta para orealproblema, que você já tinha na sua pergunta anterior e que foi abordado e explicado. Você está enganado ao pensar que o problema é um ou dois diretórios além do diretório que está causando o erro. O problema está certo em /media/debian/
.
Fique longe de /media/someuser
diretórios como /media/debian
. Eles recebem tratamento especial do sistema, com diretórios criados dinamicamente para cada usuário quando necessário. Esses diretórios são privados para o usuário "que ocupa o lugar" e não permitem que o processo Apache os acesse por padrão. Talvez seja até possível que uma reinicialização ou um simples logoff/login possa redefinir seus direitos de acesso, impedindo novamente o apache httpd de acessá-los, mesmo que pudesse antes.
Basta criar o diretório mountpoint em outro lugar. Poderia estar dentro de um novo diretório chamado /srv/
or /data/
(ou talvez até dentro, /var/www/
mas eu não aconselharia).
Então, por exemplo, como root:
mkdir -p /srv/media/SHARED
Em seguida, altere todas as configurações do seu apache e /etc/fstab
aponte para /srv/media/SHARED
em vez de /media/debian/SHARED
.
Como não haverá conflitos com as ferramentas que lidam dinamicamente com os direitos do usuário, como é o caso do /media/debian
, o usuário www-data do apache httpd não terá problemas de permissão para acessar o /srv/media/SHARED
.
Se esse fosse o objetivo pretendido anteriormente, a debian
GUI do usuário poderia não exibir diretamente este diretório, pois não está no diretório reservado para este usuário. Basta adicionar um link simbólico ou qualquer outro método Desktop para apontar para /srv/media
ou /srv/media/SHARED
.
Ainda pode haver problemas devido ao fato de o VFAT ser um sistema de arquivos muito limitado: Operation not permitted
é um erro normal e esperado no VFAT parachownechmode não pode ser corrigido de outra forma a não ser não usar VFAT. httpd (talvez dependendo de algumas opções) pode ter interpretação especial para arquivos com direitos de execução. Se tal caso surgir, este seria um problema separado que seria simplesmente resolvido aderindo aos sistemas de arquivos POSIX, ou pelo menos ao NTFS usado comNTFS-3Gcom ajustes (.NTFS-3G/UserMapping
) para lidar com direitos de acesso. Evite VFAT ou ExFAT.