Como funcionam as permissões nos diretórios?

1

Não entendo como as permissões nos diretórios funcionam. Por exemplo:

r : posso listar todos os arquivos presentes em um diretório (por exemplo, ls )

w : posso modificar um arquivo em um diretório, excluí-lo e criar um novo subdiretório

x : posso acessar um diretório (por exemplo, cd )

Se eu estiver certo na seguinte situação:

-w-
  • Posso remover um arquivo se já souber o nome dele?
  • Posso remover um arquivo mesmo se eu não tiver permissões de gravação?

Outra questão. No caso de bit pegajoso (por exemplo, /tmp ) não consigo remover ou renomear um arquivo se não sou seu proprietário: para fazer isso, a permissão de um arquivo não é suficiente?

    
por Drew Ber 19.08.2018 / 15:07

1 resposta

2

A permissão x no diretório dir permite acessar os arquivos dir/file . Sem ela, a permissão w não ajuda em nada, pois para criar ou excluir os arquivos, você precisa ser capaz de apontá-los.

Se você tivesse -wx no diretório, você poderia remover arquivos se soubesse seus nomes (e cria novos arquivos).

A leitura do diretório, ou seja, a listagem do conteúdo não requer o acesso de dir/file , apenas dir , portanto, se você tiver r-- , poderá obter uma listagem dos arquivos.

As permissões do arquivo não influenciam a remoção do arquivo, nem mesmo em diretórios fixos, pelo menos no meu Linux. A página man ( chmod (1) ) diz que você precisa ser o dono do arquivo ou o diretório para remover ou renomear arquivos de um diretório fixo.

/tmp$ ls -l test
-rw-rw-rw- 1 root root 0 Aug 19 16:17 test
/tmp$ rm test
rm: cannot remove 'test': Operation not permitted

Veja também: Execute vs Read bit. Como funcionam as permissões de diretório no Linux?

    
por 19.08.2018 / 15:20

Tags