# 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. ![permissions](https://hackmd.io/_uploads/rkj6Nl69T.jpg)