Sim, eles são importantes. Para criar um diretório, você precisa poder gravar em seu diretório pai. Criar um diretório é como criar um arquivo (afinal de contas, tudo é um arquivo ), portanto, é necessário ter acesso de gravação aos pais. . Além disso, você precisa ser capaz de acessar o diretório pai, o que significa que você precisa executar o acesso a todos os diretórios na árvore:
$ sudo tree -pgu
.
└── [drwxr-xr-x terdon terdon] dir1
└── [drwx------ bob bob ] dir2
└── [drwxr-xr-x terdon terdon] dir3
No exemplo acima, dir2
é de propriedade de bob
. Isso significa que não posso cd
, e não posso cd
em seu subdiretório dir2
:
$ cd dir1/dir2/
bash: cd: dir1/dir2/: Permission denied
$ cd dir1/dir2/dir3
bash: cd: dir1/dir2/dir3: Permission denied
Se eu der acesso de execução a dir2
, poderei migrar para dir2
e dir2/dir3
, mas ainda não terei o direito de criar arquivos / diretórios em dir2
:
$ sudo tree -pgu
.
└── [drwxr-xr-x terdon terdon] dir1
└── [drwx--x--x bob bob ] dir2
└── [drwxr-xr-x terdon terdon] dir3
$ cd dir1/dir2/
$ ls
ls: cannot open directory '.': Permission denied
$ touch file
touch: cannot touch 'file': Permission denied
Como você pode ver acima, embora eu possa ir para o diretório, não posso listar seu conteúdo porque não tenho acesso de leitura a ele e não consigo criar nada lá porque não tenho acesso de gravação .
Assim, para poder criar um novo arquivo ou diretório dentro de um diretório, você precisa:
-
Execute permissões em todos os diretórios pais de seu diretório de destino.
-
Execute e grave permissões para o diretório de destino.