Permissoes de acesso a arquivos e diretorios
Permissões de acesso a arquivos e diretórios
As permissões de acesso a arquivos e diretórios permitem protejer o sistema de arquivos do Linux do acesso indevido por pessoas ou programas não autorizados.
O princípio da segurança está baseado no conceito de usuário, grupo e outros usuários. Um arquivo ou diretório sempre possui um usuário que é o seu dono (owner).
O grupo (group) permite atribuir permissões de acesso a arquivos e diretórios comuns a um grupo de usuários.
Os outros são usuários que não são donos nem pertencem ao grupo do arquivo ou diretório.
As permissões podem do tipo:
- Leitura (Read) para arquivos, ou no caso de diretório listar seu conteúdo (por exemplo com ls);
- Escrita (Write) no arquivo, ou no caso de diretório a criação de arquivos ou sub-diretórios dentro dele;
- Execução (eXec) de arquivo (caso seja executável) ou de entrar para dentro do diretório (por exemplo com cd).
Exibição das permissões de acesso
- Comando ls -l
- Quando executamos este comando em um diretório qualquer, os arquivos e sub-diretórios são listados com as permissões de acesso correspondentes. Por exemplo:
evandro@evandro-HP:~/AulasIFPR$ ls -l total 20 -rw-r----- 1 evandro professores 46744 Fev 18 2013 Modelo-PlanoEnsino.odt drwxr-x--- 3 evandro professores 4096 Jun 11 16:15 TADS-AdministracaoServidores
- As colunas que aparecem na listagem são:
- Esquema de permissões (-rw-r-----);
- Número de ligações do arquivo ou diretório;
- Dono do arquivo;
- Grupo do dono do arquivo;
- Tamanho do arquivo;
- Mês Dia e Hora da criação do arquivo;
- Nome do arquivo.
- Esquema de permissões
- O esquema de permissões usa 10 caracteres, o primeiro identifica o tipo (- arquivo; d diretório; l link; ...) e os outros 9 formam 3 grupos de 3 caracteres que mostram as permissões (r leitura; w escrita; x execução) para o dono, grupo e outros.
- Por exemplo, analisando a primeira da saída do comando ls -l acima, referente ao arquivo Modelo-PlanoEnsino.odt. temos:
- dono possui permissão de leitura e escrita (r w -);
- grupo possui permissão de leitura (r - -);
- outros não possuem permissões sobre o arquivo (- - -).
Alteração das permissões de acesso
- Comando chmod
- Permite alterar as permissões de acesso, pode ser utilizado de dois modos:
- Formato Octal;
- Formato Simbólico.
Formato Octal
O formato octal usa três algarismos octal para atribuir permissões ao dono, grupo ou outros, conforme a tabela abaixo:
Octal | Permissões |
---|---|
0 | --- |
1 | --x |
2 | -w- |
3 | -wx |
4 | r-- |
5 | r-x |
6 | rw- |
7 | rwx |
Exemplo:
chmod 755 arquivo1
- Atribui permissão de leitura, escrita e execução (rwx) ao dono, leitura e execução (r-x) ao grupo e leitura e execução (r-x) aos outros.
Formato simbólico
O formato simbólico usa letras e símbolos para indicar as permissões. É composto de três elementos [1]:
- Alcance das permissões:
- u Usuário;
- g Grupo;
- o Outros.
- Ação sobre as permissões:
- + Acrescenta permissões;
- - Remove permissões;
- = Atribui permissão explicitamente.
- Tipo das permissões:
- r Leitura,
- w Escrita,
- x Execução.
Exemplo:
ls -l -rwx------ 1 evandro evandro 87475 Jun 11 18:07 netkit2-installer
chmod go+rw netkit2-installer
ls -l -rwxr-xr-x 1 evandro evandro 87475 Jun 11 18:07 netkit2-installer
- Acrescenta ao grupo e outros (go+) permissões de leitura e execução (rw).
Alterando permissões padrão
- Comando umask
- Permite alterar o padrão de permissões para arquivos novos a serem criados.
O comando umask usa três algarismos octal que formam uma máscara para as permissões dos novos arquivos e diretórios que serão criados.
Exemplos:
umask 777
- Usuário, grupo e outros não terão nenhuma permissão sobre novos arquivos criados. Seria equivalente a chmod 000.
umadk 000
- Usuário, grupo e outros terão permissão de leitura, escrita e execução sobre novos arquivos criados. Seria equivalente a chmod 777.
umask 022
- Usuário terá permissão de leitura, escrita e execução e o grupo e outros terão permissão de leitura e execução sobre novos arquivos criados. Seria equivalente a chmod 755. Este é o modo padrão para criação de arquivos e diretórios no Linux.
- Alterar de forma permanente a máscara umask
- Deve editar o arquivo ~.profile e redefinir o o valor de umask.
Modificando o dono e o grupo de um arquivo
- Comando chown
- Modifica o dono de um arquivo.
chown novo_dono arquivo
- Comando chgrp
- Modifica o grupo de um arquivo.
chgrp novo_grupo arquivo
Referências
- ↑ VALLE, O. T. Adminstração de Redes com Linux: Fundamentos e práticas, IFSC, Florianópolis, 2010.
--Evandro.cantu (discussão) 18h21min de 5 de julho de 2015 (BRT)