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 leiam /home/martin/public/readme
, os diretórios /
, /home
, /home/martin
e /home/martin/public
precisam ter as permissões d??x??x??x
(pode ser drwxr-xr-x
ou drwx--x--x
ou alguma outra combinação) e, adicionalmente, o arquivo readme
deve ser publicamente legível ( -r??r??r??
).
É comum ter diretórios pessoais com o modo drwxr-xr-x
(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. Sob esse diretório inicial, crie subdiretórios públicos e privados conforme desejado.
Se você nunca quiser que outras pessoas leiam qualquer um dos seus arquivos, você pode criar seu diretório home drwx------
(700). Se você fizer isso, não precisará proteger seus arquivos individualmente. Isso não quebrará nada além da capacidade de outras pessoas lerem seu arquivo.
Uma coisa comum que pode ser quebrada, porque é uma instância de outras pessoas lendo seus arquivos, é se você tiver um diretório como ~/public_html
ou ~/www
, que contém sua página da web. Dependendo da configuração do servidor da Web, esse diretório pode precisar ser legível por todos.
Você pode alterar as permissões padrão dos arquivos criados definindo o valor umask em .profile
. O umask é o complemento das permissões máximas de um arquivo. Os valores comuns incluem 022 (gravável somente pelo proprietário, legível e executável por todos), 077 (acesso somente pelo proprietário) e 002 (como 022, mas também grupo-gravável). Essas são permissões máximas: os aplicativos podem definir permissões mais restritivas, por exemplo, a maioria dos arquivos acaba sendo 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.