# Permissões
cada arquivo e diretório tem suas próprias configurações de permissões. Essas permissões basicamente determinam quem pode fazer o quê com o arquivo. Existem três tipos principais de permissões: leitura (read), escrita (write) e execução (execute).
1. **Leitura (Read):**
- Se um arquivo tem permissão de leitura, isso significa que você pode visualizar o conteúdo do arquivo. Se é um diretório, você pode ver quais arquivos estão dentro dele.
2. **Escrita (Write):**
- Se um arquivo tem permissão de escrita, você pode modificar seu conteúdo. Em um diretório, permissão de escrita permite adicionar, remover ou renomear arquivos.
3. **Execução (Execute):**
- Para arquivos, a permissão de execução permite que você o execute como um programa. Para diretórios, a permissão de execução permite acessar o conteúdo do diretório.
Agora, como isso se parece quando você olha para as permissões?
- As permissões são divididas em três grupos: usuário dono (owner), grupo e outros (others).
- Cada grupo tem suas próprias configurações de leitura, escrita e execução.
Por exemplo, se você vê algo como "rw-r--r--":
- O dono (usuário) tem permissão de leitura (r) e escrita (w), mas não de execução (-).
- O grupo tem permissão de leitura, mas não de escrita ou execução.
- Outros (quem não é o dono nem está no grupo) também têm permissão de leitura, mas não de escrita ou execução.
Você pode mudar essas permissões usando o comando `chmod` e ver as permissões com o comando `ls -l`.
As permissões podem ser representadas de duas maneiras: a textual (rw-) que acabamos de discutir e a numérica. Na representação numérica, cada tipo de permissão tem um valor associado:
- **Leitura (Read):** Representada por 4.
- **Escrita (Write):** Representada por 2.
- **Execução (Execute):** Representada por 1.
Agora, podemos usar esses valores para entender e configurar permissões mais facilmente. Vamos pegar o exemplo "rw-r--r--" novamente:
- O dono (usuário) tem permissão de leitura (4) e escrita (2), totalizando 6 (4 + 2). Adicionando permissão de execução (1), ficaria 7.
- O grupo tem permissão de leitura (4), totalizando 4 (4 + 0 + 0).
- Outros (quem não é o dono nem está no grupo) têm permissão de leitura (4), totalizando 4 (4 + 0 + 0).
Então, em representação numérica, "rw-r--r--" seria "764".
Agora, se quisermos adicionar permissão de execução ao grupo e outros, podemos modificar para "rwxr-xr--", que em representação numérica seria "755" (7 para o dono, 5 para grupo e 5 para outros).
Para aplicar essas alterações, você pode usar o comando `chmod` assim:
```console
$ chmod 755 nome_do_arquivo
```
Esse comando concede permissão total ao dono (7), permissão de leitura e execução ao grupo (5) e permissão de leitura e execução a outros (5).
Se você quiser remover a permissão de execução de um arquivo ou diretório, você pode usar o comando `chmod` com o argumento "-x". Vamos considerar o exemplo anterior "rwxr-xr--", que em representação numérica seria "755".
Se quisermos remover a permissão de execução do grupo e outros, transformando isso em "rw-r--r--" (ou "644" em representação numérica), podemos usar o comando a seguir:
bash
`chmod go-x nome_do_arquivo`
Neste comando:
- "go" refere-se ao grupo (group) e outros (others).
- "-x" remove a permissão de execução.
Dessa forma, o comando acima removerá a permissão de execução do grupo e outros, mantendo apenas as permissões de leitura e escrita.
Lembre-se de que o dono (usuário) não é afetado pelo "go", então as permissões dele permanecerão inalteradas.
