Uma pasta Public existe no seu diretório pessoal ( /home/user ) para compartilhar arquivos com outros usuários. Se um outro usuário quiser obter acesso a essa pasta Public , o bit de execução para o mundo deve ser definido no Diretório inicial.
Se você não precisar permitir que outras pessoas acessem sua pasta pessoal (outros seres humanos ou usuários como www-data para um servidor da Web), você ficará bem com chmod o-rwx "$HOME" (remover leitura / gravação / execução de "outros" , equivalente a chmod 750 "$HOME" , pois a permissão padrão é 750). Caso contrário, você deve alterar a umask configuração também para evitar que arquivos recém-criados obtenham permissões de leitura para o mundo por padrão.
Para uma configuração de todo o sistema, edite /etc/profile ; configurações por usuário podem ser configuradas em ~/.profile . Eu prefiro a mesma política para todos os usuários, então eu editaria o arquivo /etc/profile e acrescentaria a linha:
umask 027
Você precisa fazer login novamente para aplicar essas alterações, a menos que esteja em um shell. Nesse caso, você pode executar umask 027 no shell.
Agora, para corrigir as permissões existentes, você precisa remover as permissões de leitura / gravação / execução de outras:
chmod -R o-rwx ~
Agora, se você decidir compartilhar a pasta ~/Public com todos, execute os próximos comandos:
-
chmod o+x ~- permite que todos descessem no diretório (x), mas não recebam uma listagem de diretórios (rnão deve ser adicionado) -
find ~/Public -type f -exec chmod o+r {} \;- permite que todos leiam os arquivos em~/Public -
find ~/Public -type d -exec chmod o+rx {} \;- permite que todos descessem em diretórios e listassem seus conteúdos
Se você estiver usando GNU coreutils (por exemplo, no Ubuntu, não em um sistema embarcado com apenas busybox ), então os dois comandos anteriores usando find e chmod podem ser substituídos por este único comando que recursivamente cria pastas e arquivos legíveis (e adicionalmente adiciona o bit execute (descend) para diretórios somente ):
chmod -R o+rX ~/Public