1) Não tenho certeza de como funcionam as permissões de diretório aninhado.
Suponha que eu tenha os seguintes diretórios/arquivos e permissões:
~/Private/ 700
~/Private/Group 770
~/Private/Group/Public 777
Público é realmente público?
2) Se eu quiser tornar o Private realmente privado, faz diferença se eu uso -R ao fazer 'chmod 700'?
3) Eu li que o Ubuntu usa uma pasta inicial legível por palavras por padrão e se recusa a corrigi-la. Mas quando faço 'ls -lh' recebo isto: drwx------ (700, certo?). Então, qual é? Eles mudaram de ideia sobre a pasta pessoal?
Nota: estou em uma VM Ubuntu 12
Responder1
~/Private/ 700
~/Private/Group 770
~/Private/Group/Public 777
Um usuário que não é proprietário ~/Private/
e ~/Private/Group
não poderá entrar na pasta Pública com essas permissões.
No Unix/Linux você deve adicionar o bit de execução para que um usuário possa percorrer (mudar para dentro ou através) de um diretório. Mas você não precisa conceder acesso de leitura. Então tente isso. Mas tenha em mente que o usuário deve saber que os diretórios Grupo e Público existem, não haverá como usá-los ls
para ver se eles existem, a menos que também receba acesso de leitura.
~/Private/ 711
~/Private/Group 771
~/Private/Group/Public 777
faz diferença se eu uso -R ao fazer 'chmod 700'
Se você executar esse comando, você alterará as permissões de cada arquivo em um diretório abaixo do diretório de destino; se você tiver algo com permissões diferentes, eles serão perdidos. Suspeito que você também adicionaria o bit de execução a muitos arquivos regulares, o que geralmente é indesejável.
Você pode querer usar um comando como este. Isso alterará apenas as permissões no diretório e subdiretórios, sem alterar as permissões nos arquivos.
find {directory_path} -type d -print0 | xargs --null -n 1 chmod 0700
Um comando semelhante para alterar apenas os arquivos ficaria assim.
find {directory_path} -type f -print0 | xargs --null -n 1 chmod 0600