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.