Permissões de hierarquia de diretório Unix

2

Suponha que eu tenha um diretório sem acesso para ninguém, exceto para o root. Tenho certeza de que tudo no diretório está inacessível para todos, mas o root? Em outras palavras, as permissões de arquivo são hierárquicas, de modo que, se um usuário não puder acessar um diretório, ele não poderá acessar nada nele, mesmo que tenha permissões para algo no diretório?

    
por Der Hochstapler 27.06.2011 / 17:59

3 respostas

5

Wiile a resposta é principalmente "yes" , há casos especiais em que pode ser "no" .

Porque não é garantido que os arquivos unix tenham um caminho exclusivo. Então, se você tiver

$ ls -l
drwx------- 1 root  root [...] root_only

e

$ ls -l root_only
-rw-rw-rw-- 2 root  root [...] hopefully_private_file

e hopefully_private_file são hardlinked de outro lugar que pode ser legível universalmente.

Como você sabe? Veja novamente aquele ls -l :

$ ls -l root_only
-rw-rw-rw-- 2 root  root [...] hopefully_private_file
            ^
            |

O número na seta é a contagem de links (para arquivos, tem um significado diferente para diretórios). Se a contagem de links for 1, você está seguro; se for outra coisa, pode haver um problema.

    
por 27.06.2011 / 19:07
2

Para exibir algo no diretório dir/ , você precisa de +x permission para poder localizar o inode do arquivo. Portanto, se você não tiver + x, não poderá ler um arquivo, mesmo que seja 777 .

    
por 27.06.2011 / 18:07
1

Isso está correto, remover permissões em um diretório pai afeta a capacidade de trabalhar com qualquer coisa dentro desse diretório.

Se um usuário não tiver permissão de execução em um diretório, ele não poderá ver os arquivos em um diretório.

Você provavelmente também deseja remover a permissão de leitura no diretório, para que eles não possam ver o conteúdo (nomes de arquivos) do diretório.

    
por 27.06.2011 / 18:04

Tags