Índice de conteúdo:
- O que é isso de permissões de arquivos em Linux?
- Modo numérico de atribuir ou remover permissões
- Como alterar permissões
O que é isso de permissões de arquivos em Linux?
As permissões de arquivos no sistema Linux determinam quem pode ou não ter acesso a um determinado ficheiro, ou diretório no sistema e quais as permissões concedidas como sendo editar, visualizar e executar.
As permissões de arquivos em Linux são fundamentais para a segurança do sistema e privacidade do utilizador, pois ajudam a proteger arquivos contra acesso ou modificações não autorizadas.
Estas permissões têm grande importância no sentido em que cada tipo de ficheiro ou pasta tem consoante sendo do sistema ou do utilizador permissões que apenas permitem ser manipuladas ou alteradas pelo dono/possuidor do arquivo ou root.
Neste laboratório vamos falar da forma numérica de atribuir permissões de acesso a pastas e ficheiros, exemplificando passo a passo como funcionam e como alterá-las consoante as nossas necessidades.
Veja também: Permissões em Diretórios e Ficheiros em Linux - Forma Simbólica
Modo numérico de representar permissões
As permissões de ficheiro em Linux são numéricas quando são representadas por números.
Na forma numérica as permissões são representadas por três dígitos mais 0 e cada dígito corresponde a uma determinada permissão. O zero retira permissões. Nisso temos o seguinte:
A adição entre os três dígitos (4, 2 e 1) confere permissões a um dado usuário ou grupo de usuários num determinado ficheiro ou directório enquanto o 0 retira permissões.
No exemplo apresentado na tabela nº 1 um determinado ficheiro tem as permissões de 766
- Ao usuário foi atribuída a permissão de nível 7, o que corresponde a 4 + 2 + 1 que são (read, write e execute, respetivamente).
- Ao grupo foi atribuída a permissão de nível 6, o que corresponde a 4 + 2 + 0 (read, write. A permissão de executar foi retirada, daí a existência do 0 no seu lugar).
- Aos outros usuários foi atribuída a permissão de nível 6 também, o que corresponde a 4 + 2 + 0, que são (read, write. A permissão de executar foi retirada, daí também a existência do 0 no seu lugar).
read | write | execute | permissões | |
---|---|---|---|---|
usuário | ||||
grupo | ||||
outros | ||||
Permissões | 766 |
No exemplo apresentado na tabela nº 2 um determinado ficheiro tem as permissões de 755
- Ao usuário foi atribuída a permissão de nível 7, o que corresponde a 4 + 2 + 1 que são (read, write e execute, respetivamente).
- Ao grupo foi atribuída a permissão de nível 5, o que corresponde a 4 + 0 + 1 (read, execute. A permissão 'write' foi retirada, daí a existência do 0 no seu lugar).
- Aos outros usuários foi atribuída a permissão de nível 5 também, o que corresponde a 4 + 0 + 1 (read, execute. A permissão 'write' foi retirada, daí a existência do 0 no seu lugar).
read | write | execute | permissões | |
---|---|---|---|---|
usuário | ||||
grupo | ||||
outros | ||||
Permissões | 755 |
No exemplo apresentado na tabela nº 3 um determinado ficheiro tem as permissões de 610
- Ao usuário foi atribuída a permissão de nível 6, o que corresponde a 4 + 2 + 0 que são (read e write. A permissão de executar foi-lhe retirada como se poderá notar pelo 0 no seu lugar).
- Ao grupo foi atribuída a permissão de nível 1, o que corresponde a 0 + 0 + 1 (execute. As permissões 'read' e 'write' foram retiradas, daí a existência do 0 nos seus lugares).
- Aos outros utilizadores foram-lhes retiradas todas as permissões, o que corresponde a 0 + 0 + 0 (As permissões 'read', 'write' e 'execute' foram retiradas, daí a existência do 0 nos seus lugares).
read | write | execute | permissões | |
---|---|---|---|---|
usuário | ||||
grupo | ||||
outros | ||||
Permissões | 610 |
Como alterar permissões
Vamos explorar isso na prática para vermos como funciona.
Aqui, estando dentro da pasta Aniversarios (estou usando como exemplo pastas criadas num post anterior: Criar diretórios em terminal Linux do simples ao complexo) e correndo o comando $ ls, o que vemos com este comando é uma lista do conteúdo dentro da pasta Aniversarios sem nenhuma outra informação adicional.
Para obtermos mais informações sobre o conteúdo temos de usar a opção -l junto ao comando ls e correndo o comando $ ls -l, vemos a lista das pastas: Amigos, Filhos, Pais, Trabalho e um ficheiro .txt de nome aniversarios com as respectivas metadados que trazem muitas informações sobre o ficheiro ou diretório e nessas informações temos as seguintes permissões concedidas:
Se pegarmos da imagem acima vemos o seguinte:
- No diretório Amigos
- O usuário (u) que é o dono, tem as permissões de visualizar, alterar e executar: rwx o mesmo que permissão nível 7
- O grupo (g) que são os usuários que o dono adicionou ao seu grupo, tem as permissões de visualizar e executar: rx, o mesmo que permissão nível 5
- Outros (o) usuários do sistema têm a permissão de visualizar e executar: rx, o mesmo que permissão nível 5
- No ficheiro aniversarios.txt
- O usuário (u) que é o dono, tem as permissões de visualizar e alterar: 6
- O grupo (g) que são os usuários que o dono adicionou ao seu grupo, só tem a permissão de visualizar: 4
- Outros (o) usuários do sistema têm unicamente a permissão de visualizar: 4
Nas permissões de um directório, o 1 que corresponde ao (x) (executar) na forma simbólica, permite-nos fazer cd (change directory) e entrar no diretório ou obter a lista do conteúdo do directório com ls .
Para alterar permissões usamos o comando chmod (change file mode). Se quiseres saber mais sobre este comando é só ler o manual do mesmo usando o comando man chmod
Vamos alterar as permissões no ficheiro aniversarios.txt e vamos retirar a permissão de visualização para o grupo e todos os outros (o) utilizadores do sistema.
chmod 600 aniversarios.txt
Agora vamos alterar as permissões no ficheiro aniversarios.txt e vamos atribuir a permissão de visualização para o grupo (g).
chmod 640 aniversarios.txt
Agora vamos alterar as permissões nos diretórios Filhos e Pais e vamos retirar a permissão de visualização para outros (o).
chmod 751 Filhos/ Pais/
Agora vamos alterar as permissões nos diretórios Filhos e Pais e vamos retirar a permissão de visualização para o grupo (g).
chmod 711 Filhos/
Agora vamos alterar as permissões nos diretórios Filhos e Pais e vamos atribuir as permissão de visualizar e executar para o grupo (g) e outros (o).
chmod 755 Filhos/ Pais/
Neste post falamos sobre Permissões Numéricas, já num outro tínhamos falado sobre Permissões Simbólicas caso queira dar um golpe de vista. Espero que este post tenha servido de alguma utilidade para o entendimento das permissões. Obrigado por cá estares.