x gives you access to the inodes of the files (which means you can see their permissions and, according to it, have access to the contents), but you still cannot change anything in the directory; directory is actually some sort of a file and to change something in it you need the w permission.
Sim.
But why do you need x for creating (you could ask the system to create a file without exposing the inode?) and renaming/moving the file (when you move a file you don't change it in any way, you only change the records inside the directories and their inode counts?)?
Sem x
, você só pode afetar o diretório em si - está vendo o diretório de fora. Sem x
, as entradas de diretório estão fora dos limites para você. Se você quiser adicionar, remover ou modificar (por exemplo, renomear) uma entrada no diretório, será necessário acessar essa entrada.
As permissões em um arquivo determinam o que você pode fazer com o conteúdo do arquivo. As permissões no diretório determinam o que você pode fazer com a entrada de diretório do arquivo, já que as entradas do diretório são o conteúdo do diretório.
A permissão de gravação em um diretório permite criar e remover entradas. A renomeação conta como atomicamente criando uma entrada e removendo outra. Além disso, os diretórios possuem os mesmos metadados dos arquivos regulares. A permissão de gravação também permite alterar a última modificação do diretório e o último registro de data e hora de acesso. Para alterar as permissões de um diretório, a propriedade de grupo ou as listas de controle de acesso (onde houver suporte), você precisa ser o proprietário. Para alterar a propriedade do usuário, a maioria das variantes unix exige raiz.