Tornando o arquivo no homedir do usuário acessível a partir do web / webserver

2

Eu tenho um arquivo txt, um homedir do meu usuário, que é regularmente atualizado lá por um script. Agora quero poder acessar (ler) esse arquivo da Web.

/home/user/folder/file.txt

Então o que eu tentei agora é logar como root, entrar na pasta httpdocs dos meus servidores web

/var/www/path/to/domain/httpdocs

e lá eu tentei criar um link simbólico com

ln -s /home/user/foler/file.txt /var/www/path/to/domain/httpdocs/file.txt

Mas isso não funcionou ... Eu já tentei alterar o chmod do link simbólico (que muda os do arquivo original, é claro) e também um chown para o usuário do servidor web, mas não importa o que eu tentei eu não pode abrir o arquivo da web ou de um script php (que é o que eu quero fazer)

Alguém pode me ajudar e me dizer o que eu preciso fazer? Quais direitos eu preciso dar? Ou há outra maneira de conseguir isso?

    
por evident 18.02.2011 / 23:55

2 respostas

2

O link simbólico sempre terá estas permissões: lrwxrwxrwx. O " l " indica que é um link. Portanto, todos os usuários podem seguir o link porque as permissões efetivas são aquelas do arquivo para o qual o link aponta. Nunca é útil tentar alterar as permissões de um link simbólico.

O caminho inteiro da raiz para o arquivo em questão deve ser legível pelo usuário do Apache. Então ... dê uma olhada nas permissões da pasta pessoal:

ls -la /

O diretório inicial deve ser de propriedade de root, grupo de propriedade de root, com a máscara de permissão 0755 por padrão: drwxr-xr-x . Se não, altere:

sudo chown root:root /home; sudo chmod 0755 /home

Agora, dê uma olhada no diretório do seu usuário:

ls -la /home

Se o nome de usuário em questão for sambo , o diretório pessoal do usuário deve ser de propriedade de sambo, grupo de propriedade de sambo, com a máscara de permissão 0755 por padrão: drwxr-xr-x . Se não, altere:

sudo chown sambo:sambo /home/sambo; sudo chmod 0755 /home/sambo

Repita isso quantas vezes forem necessárias, pois existem muitos diretórios até chegar ao diretório que contém o arquivo. Então, não esqueça do arquivo em si.

sudo chown sambo:sambo /home/sambo/path/to/file/file.txt; sudo chmod 0644 /home/sambo/path/to/file/file.txt

Em seguida, use o PHP para abri-lo:

<?php
    $file = '/home/sambo/path/to/file/file.txt';
    $fp = fopen($file, 'r');

Você também pode usar o link simbólico neste momento.

    
por user8290 19.02.2011 / 01:49
0

Consegui acessar arquivos do meu sistema com mediatomb (veja a documentação ) como tem uma interface web. Eu recomendaria ativar a proteção por senha pelo menos.

Outra alternativa é o servidor da web une unite.

    
por Allan 19.02.2011 / 00:10