As permissões dos arquivos/diretórios são definidas pelo file mode (9 bits) que determinam as permissões para um determinado arquivo. Esse mecanismo nos permite definir três classes de usuários: o dono do arquivo, o grupo a qual o dono pertence e os outros usuários do sistema.
O sistema Linux é muito seguro, e como qualquer outro sistema seguro e confiável, ele impede que usuários iniciantes (ou mal-intencionados) instalem programas enviados por terceiros sem saber para que eles realmente servem e acabem causando danos irreversíveis em seus arquivos, no seu micro ou na sua empresa.
Permissões básicas em um arquivo/diretório
Permissão | Ação | Efeito no arquivo | Efeito no diretório |
Read (r) | Leitura | Visualização do conteúdo no arquivo | Visualização do conteúdo do diretório |
Write (w) | Escrita | Modificar e apagar o arquivo | Criar/apagar arquivos/diretórios no diretório |
Execute (x) | Execução | Execução do arquivo como programa | Entrar no diretório com cd, por exemplo |
E como podemos visualizar estas permissões? É simples. Faremos um ls -l na raiz.Para visualizar as permissões dos arquivos/diretório podemos usar o seguinte comando: ls -l /
Observe a primeira coluna. É ela que nos dá informação sobre as permissões.
O primeiro caractere é apenas o informativo para que tipo de arquivo está sendo mostrado e segue a seguinte ideia:
- d: É um diretório;
- b: É um arquivo de bloco (são frequentemente utilizados em dispositivos de comunicações paralelas como discos rígidos e CD/DVD);
- c: É um arquivo especial de caractere;
- p: É um canal, ou seja, é o redirecionamento da saída padrão de um programa para a entrada padrão de outro;
- s: É um socket (comunicação entre dois processos);
- - : É um arquivo normal
Analisando um exemplo mais simplificado:
Nas permissões dos dois primeiros arquivos começam com “-”, segundo a lista a cima, são arquivos normais. Já o terceiro começa com “d” indicando que é um diretório.
As permissões do arquivo prova
-rw-rw-r--. 1 erik erik 0 Jul 10 11:36 prova
rw- : permissões do usuário
rw- : permissões do grupo
r-- : permissões de outros (Não é o dono, e nem faz parte do grupo)
No caso, o arquivo pertence ao usuário erik e ao grupo erik.
O dono tem permissões de leitura e escrita (rw)
O grupo tem permissões de leitura e escrita (rw)
Outros tem permissões somente de leitura (r)
Para melhorar o entendimento das permissões, podemos memorizar a sequência com a sigla UGO:
u: Usuário dono
g: Grupo
o: Outros
Veja algumas permissões mais comuns:
--- => nenhuma permissão;
r-- => permissão de leitura;
r-x => leitura e execução;
rw- => leitura e gravação;
rwx => leitura, gravação e execução.
r-- => permissão de leitura;
r-x => leitura e execução;
rw- => leitura e gravação;
rwx => leitura, gravação e execução.
COMO ALTERAR AS PERMISSÕES DE UM ARQUIVO?
O comando chmod (change mode) altera as propriedades de permissões de arquivos/diretórios.
Podemos adicionar, remover, ou indicar exatamente a permissão através dos símbolos:
+ : adiciona
- : remove
= : indica exatamente como será a permissão
Eles são utilizados juntamente com as letras u g o.
ADICIONANDO PERMISSÕES
Vamos supor que você queira dar permissão para outros usuários escrever no aquivo provas, será utilizado o sinal de mais (+).
O comando ficaria: chmod o+w prova
-rw-rw-rw-. 1 erik erik 0 Jul 10 11:36 prova
Agora outros usuários podem escrever ou apagar o arquivo prova (ou não seja, não é uma boa prática de segurança).
REMOVENDO PERMISSÕES
Para que nenhum aluno mal-intencionado veja a prova, podemos remover as permissões para outros. Neste caso utilizaremos o sinal de menos (-)
O comando ficaria: chmod o-rw prova
-rw-rw----. 1 erik erik 0 Jul 10 11:36 prova
Notemos que agora outros não possui nenhuma permissão para o arquivo prova. Se algum outro usuário tentasse escrever, apagar, visualizar o conteúdo da prova, receberia a seguinte mensagem: Permission denied
Observe que o usuário user01 tentou apagar o arquivo prova, mas não obteve êxito.
PERMISSÕES NO FORMATO NUMÉRICO (OCTAL):
O chmod também aceita parâmetros numéricos de acordo com a tabela:
Read (r) | 4 |
Write (w) | 2 |
Execute (x) | 1 |
Nenhuma permissão | 0 |
Os números podem ser somados quando quiser configurar mais um acesso, por exemplo, caso queira que uma arquivo tenha opção de leitura (4) e escrita (2) somente para usuário e grupo:
chmod 660 prova
leitura (4) + escrita (2) = 6
o primeiro dígito é configuração de dono
o segundo dígito é configuração de grupo
o terceiro dígito é configuração de outros
Caso fosse necessário dar permissão de leitura para outros, o comando a ser usado seria:
chmod 664 prova
CONCLUSÃO
O uso correto das permissões de arquivo ajuda a manter um sistema seguro, prevenindo que somente os usuários autorizados acessem os arquivos que possui direito.
Gostou? alguma dúvida, crítica, sugestão?
Utilize a seção de comentários.
Gostou? alguma dúvida, crítica, sugestão?
Utilize a seção de comentários.
Neste vídeo pode ser visto o chmod em execução:
Conteúdo objetivo, de fácil entendimento. Estava estudando os tipos de usuários e grupos, depois em permissões, ao qual cheguei no Linux e Programação. Recomendo fortemente para quem está iniciando em linux (como eu) o estudo de usuários e grupos para depois chegar nas permissões, tudo vai fazer mais sentido.
ResponderExcluirParabéns, leitura obrigatória esse tutorial.