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 (r
nã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