Apache / php não pode acessar o compartilhamento cifs / samba remoto

2

Estou tentando entender o que meu problema pode estar aqui:

Estou usando um aplicativo da Web construído em LAMP que precisa de acesso a um compartilhamento de samba que eu montei usando

mount -t cifs ...

No aplicativo, o compartilhamento de samba não é acessível como outros diretórios. No entanto, eu posso acessá-lo através do terminal muito bem. Isso é um problema de permissões com o Apache? Em caso afirmativo, como eu concederia permissões ao apache do computador remoto?

    
por user2708257 23.08.2013 / 18:34

1 resposta

5

Soa como um problema de permissões - qualquer usuário que o Apache esteja executando, provavelmente não tem acesso ao compartilhamento.

Existem algumas maneiras de contornar isso, dependendo do que está hospedando o compartilhamento de samba. O método mais simples seria forçar o proprietário e o grupo ao montar o usuário / grupo do Apache. Isso mapeia um usuário / grupo específico em seu sistema para as credenciais de usuário usadas para se conectar ao compartilhamento (outra pessoa pode entrar aqui com uma explicação melhor).

Supondo que você não tenha usado o suexec, o Apache provavelmente está executando como o usuário "www-data". Se o Apache estiver sendo executado como qualquer outro usuário, você terá que modificar os comandos abaixo para substituir www-data pelos nomes de usuário e grupo apropriados.

Exemplo:

mount -t cifs -o user=smbusername,uid=www-data,gid=www-data //server/stuff /mnt/stuff/

Quando montado, o www-data aparecerá como o proprietário do ponto de montagem, e o Apache poderá lê-lo.

Note que isso dá ao Apache quaisquer direitos que você tenha atribuído a smbusername no servidor samba. Dependendo do que você deseja fazer, convém montá-lo como somente leitura, adicionando "ro" às opções:

mount -t cifs -o user=smbusername,uid=www-data,gid=www-data,ro //server/stuff /mnt/stuff/

Isso pode ser um pouco diferente, dependendo das suas versões do Apache e do samba / cifs - deixe-me saber se ele não está funcionando e qual SO e versões você está usando e tentarei ajudar.

    
por 16.09.2013 / 16:53