Se você não tiver +x
, mesmo que tenha +w
, não será possível criar novas entradas no diretório, nem arquivos nem diretórios.
A partir desta página, link , eu entendo que preciso do conjunto de bits + w em um diretório para criar um novo arquivo e + x bit para cd dentro dele / acessar seu inode. Por enquanto, tudo bem. Mas eu não posso usar o vi / cat / nano / echo etc para fazer coisas como:
echo hello > dir/file
porque não consigo acessar o inode do dir. Minha pergunta é: como criar / excluir / renomear um novo arquivo no diretório se não conseguir acessar o inode dele? Posso editar a estrutura de diretórios usando
vi dir
e criar / editar / renomear um novo arquivo? Existe um tutorial para fazer isso?
A permissão x
nos diretórios é uma permissão de "pesquisa". É necessário se apossar de dentry no diretório pelo nome.
Como toda e qualquer operação do sistema de arquivos começa com uma pesquisa no caminho de destino, você não tem absolutamente nenhum acesso ao conteúdo de um diretório no qual não tem permissão x
. Portanto, não faz sentido ter w
sem x
, porque a criação de dentries no diretório requer permissão de pesquisa.
O fato de você não poder cd
é um tipo de efeito colateral, porque ele procura .
dentro do diretório, não apenas o próprio diretório (você ainda pode stat
o diretório).
Tags permissions bash linux filesystems