Permissão para arquivos:
chmod 664 myFile // rw-rw-r--
E para pastas:
chmod 774 myFolder // rwxrwxr--
Se eu usar apenas a permissão "ler e gravar", as pastas não mostrarão seu conteúdo.
Qual o motivo disso?
Como você não pode 'executar' um diretório, o bit de execução foi melhor utilizado. O bit de execução em um diretório permite acessar itens que estão dentro do diretório, mesmo que você não consiga listar o conteúdo dos diretórios.
$ mkdir -p dir/
$ echo 'Hello World!' > dir/file
$ chmod 000 dir/
$ ls -al dir/
ls: cannot open directory dir: Permission denied
$ cat dir/file
cat: dir/file: Permission denied
$ chmod +x dir/
$ ls -al dir/
ls: cannot open directory dir: Permission denied
$ cat dir/file
Hello World!
Na página de chmod
manual:
As letras rwxXst selecionam bits do modo de arquivo para os usuários afetados: leitura (r), gravação (w), execução (ou pesquisa de diretórios) (x) , execução / pesquisa somente se o arquivo for um diretório ou se já tiver permissão de execução para alguns usuários. usuário (X), defina o ID do usuário ou grupo nas execuções, sinalizador de exclusão restrito ou bit adesivo (t).
Diretórios (normalmente não são chamados de pastas no * nix) têm um significado diferente para os bits de permissão que os arquivos normais.
Para diretórios, a gravação permite criar novos arquivos dentro dele.
Ler permite listar os arquivos dentro dele.
Executar permite que você o insira e acesse arquivos (ou outros diretórios) dentro.
cd
), você o insere (executa).As permissões de execução em um diretório permitem percorrê-lo, para usar os recursos contidos nele.
fonte
O bit "execute" na verdade significa "pesquisa" quando aplicado aos diretórios (de
man chmod
). Isso parece razoável, pois execute não tem significado para um diretório.fonte
O
x
bit em uma pasta se refere à indexação / pesquisa / diretório de diretório; nada disso é possível se você mantiver esse valor baixo.Aqui está um exemplo de seu uso: se você deseja ter um usuário com permissões de leitura limitadas em todos os diretórios, exceto em sua casa, digamos
/home/dummy
, é necessário criar/
e/home
ter ox
bit definido, caso contrário, ele não poderá acessar o diretório inicial.fonte