Se o seu diretório pessoal for privado, ninguém mais poderá acessar nenhum dos seus arquivos. Para acessar um arquivo, um processo precisa ter permissão de execução para todos os diretórios no caminho da árvore a partir do diretório raiz. Por exemplo, para permitir que outros usuários para ler /home/martin/public/readme
, os diretórios /
, /home
, /home/martin
e /home/martin/public
tudo necessidade de ter as permissões d??x??x??x
(que pode ser drwxr-xr-x
, ou drwx--x--x
ou alguma outra combinação), e, adicionalmente, o arquivo readme
deve ser legível publicamente ( -r??r??r??
).
É comum ter diretórios drwxr-xr-x
pessoais com o modo (755) ou pelo menos drwx--x--x
(711). O modo 711 (somente permissão de execução) em um diretório permite que outras pessoas acessem um arquivo nesse diretório se souberem seu nome, mas não listarem o conteúdo do diretório. Nesse diretório inicial, crie subdiretórios públicos e privados, conforme desejado.
Se você nunca quiser que outras pessoas leiam seus arquivos, crie seu diretório pessoal drwx------
(700). Se você fizer isso, não precisará proteger seus arquivos individualmente. Isso não prejudica nada além da capacidade de outras pessoas de ler seu arquivo.
Uma coisa comum que pode quebrar, porque é uma instância de outras pessoas lendo seus arquivos, é se você tiver um diretório como ~/public_html
ou ~/www
que contenha sua página da web. Dependendo da configuração do servidor da web, esse diretório pode precisar ser legível pelo mundo.
Você pode alterar as permissões padrão para os arquivos criados, definindo o valor umask no seu .profile
. O umask é o complemento das permissões máximas de um arquivo. Os valores comuns incluem 022 (gravável apenas pelo proprietário, legível e executável por todos), 077 (acesso apenas pelo proprietário) e 002 (como 022, mas também gravável em grupo). Essas são as permissões máximas: os aplicativos podem definir permissões mais restritivas, por exemplo, a maioria dos arquivos acaba não executável porque o aplicativo que os criou não definiu os bits de permissão de execução ao criar o arquivo.