Permissoes de acesso a arquivos e diretorios: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
Sem resumo de edição
 
(5 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 36: Linha 36:
:#Nome do arquivo.
:#Nome do arquivo.


;inode:  Um [https://www.vivaolinux.com.br/artigo/Voce-sabe-o-que-e-INODE '''inodes'''] é uma estrutura responsável por conter informações básicas sobre seus arquivos e pastas, como permissões de acesso, identificação dos donos dos arquivos, data e hora do último acesso e alterações, tamanho e o mais importante, os famosos ponteiros para o arquivo em si.
;inode:  Um '''inodes''' é uma estrutura responsável por conter informações básicas sobre seus arquivos e pastas, como permissões de acesso, identificação dos donos dos arquivos, data e hora do último acesso e alterações, tamanho e o mais importante, os famosos ponteiros para o arquivo em si.
:O parâmetro -i mostra os números de inodes dos arquivos e diretórios:
ls -il


==Esquema de permissões==
==Esquema de permissões==
Linha 105: Linha 107:


  ls -l  
  ls -l  
  -rwxr-xr-x 1 evandro evandro  87475 Jun 11 18:07 netkit2-installer
  -rwxrw-rw- 1 evandro evandro  87475 Jun 11 18:07 netkit2-installer
:Acrescenta ao grupo e outros ('''go+''') permissões de leitura e execução ('''rw''').
:Acrescenta ao grupo e outros ('''go+''') permissões de leitura e execução ('''rw''').


Linha 135: Linha 137:
  chgrp novo_grupo arquivo
  chgrp novo_grupo arquivo


==Exercícios sobre permissões de acesso==
<!--==Exercícios sobre permissões de acesso==
Acesse um terminal Linux para realizar os exercícios:
Acesse um terminal Linux para realizar os exercícios:


Linha 145: Linha 147:
#Edite este arquivo com o editor '''nano''' e inclua seu nome, data e cidade de nascimento. Em seguida, solicite que um colega da turma para, a partir da conta dele, também editar este arquivo e incluir seus dados.
#Edite este arquivo com o editor '''nano''' e inclua seu nome, data e cidade de nascimento. Em seguida, solicite que um colega da turma para, a partir da conta dele, também editar este arquivo e incluir seus dados.
#Verifique o esquema de permissões do diretório '''Brasil''', criado no exercício da aula anterior.
#Verifique o esquema de permissões do diretório '''Brasil''', criado no exercício da aula anterior.
#Modifique as permissões do diretório '''Brasil''', usando o comando '''chmod''', de modo que somente o '''dono''' possa '''ler, escrever e executar'''. O '''grupo''' e os '''outros''' não podem ter nenhum acesso.
#Modifique as permissões do diretório '''Brasil''', usando o comando '''chmod''', de modo que somente o '''dono''' possa '''ler, escrever e executar'''. O '''grupo''' e os '''outros''' não podem ter nenhum acesso.-->


==Tarefa==
==Tarefa==
Linha 159: Linha 161:
;Permissões: Definir para os diretórios as seguintes permissões:
;Permissões: Definir para os diretórios as seguintes permissões:
:*Diretório '''/home''' do usuário: Leitura, Escrita e Execução somente para o '''dono''' do diretório;
:*Diretório '''/home''' do usuário: Leitura, Escrita e Execução somente para o '''dono''' do diretório;
:*Diretórios dos grupos '''primário e secundário''': Leitura, Escrita e Execução para o '''dono''' e Leitura e Execução para o '''grupo''' do diretório;
:*Diretórios dos grupos '''primário e secundário''': Leitura, Escrita e Execução para o '''dono''' e '''grupo''' do diretório;
:*Diretório '''publico''': Leitura, Escrita e Execução para o '''dono''' e Leitura e Execução para os '''outros'''.
:*Diretório '''publico''': Leitura, Escrita e Execução para o '''todos'''.


Verifique a permissão padrão do diretório '''home''' que está sendo utilizada quando um usuário é criado. Utilize o comando '''umask''' para que novos usuários fiquem com a permissão indicada.
Verifique a permissão padrão do diretório '''home''' que está sendo utilizada quando um usuário é criado. Utilize o comando '''umask''' para que novos usuários fiquem com a permissão indicada.


Testar as permissões de acesso com diferentes tipos de usuário.
Testar as permissões de acesso com diferentes tipos de usuário.
Uma vez que um usuário cria um arquivo em um diretório compartilhado, ele pode atualizar a permissão de forma que somente ele tenha acesso a escrita, evitando que o arquivo seja apagado ou modificado por outro usuário.


==Referências==
==Referências==

Edição atual tal como às 17h16min de 14 de outubro de 2022

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:
  1. Esquema de permissões (-rw-r-----);
  2. Número de ligações do arquivo ou diretório (ou número de inodes);
  3. Dono do arquivo;
  4. Grupo do dono do arquivo;
  5. Tamanho do arquivo;
  6. Mês Dia e Hora da criação do arquivo;
  7. Nome do arquivo.
inode
Um inodes é uma estrutura responsável por conter informações básicas sobre seus arquivos e pastas, como permissões de acesso, identificação dos donos dos arquivos, data e hora do último acesso e alterações, tamanho e o mais importante, os famosos ponteiros para o arquivo em si.
O parâmetro -i mostra os números de inodes dos arquivos e diretórios:
ls -il

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 Binário Permissões
0 000 - - -
1 001 - - x
2 010 - w -
3 011 - w x
4 100 r - -
5 101 r - x
6 110 r w -
7 111 r w x

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 
-rwxrw-rw- 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.
umask 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.
Alteração permanente da máscara umask para um usuário
Deve editar o arquivo .profile e redefinir o valor de umask.
Alteração permanente da máscara umask na criação de novos usuários
Deve editar o arquivo /etc/login.defs e redefinir o valor de umask.
  • A mascara 022 é o padrão histórico do umask para o Debian;
  • As máscaras 027 ou 077 são padrões melhores de privacidade.

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


Tarefa

Criar diretórios compartilhados para os usuários dos grupos primários, secundários e para uso público.

Alocar os diretórios num diretório /dados, a ser criado na raiz do sistema:

/dados/professores
/dados/alunos
/dados/publico
/dados/arduino
/dados/...
Permissões
Definir para os diretórios as seguintes permissões:
  • Diretório /home do usuário: Leitura, Escrita e Execução somente para o dono do diretório;
  • Diretórios dos grupos primário e secundário: Leitura, Escrita e Execução para o dono e grupo do diretório;
  • Diretório publico: Leitura, Escrita e Execução para o todos.

Verifique a permissão padrão do diretório home que está sendo utilizada quando um usuário é criado. Utilize o comando umask para que novos usuários fiquem com a permissão indicada.

Testar as permissões de acesso com diferentes tipos de usuário.

Uma vez que um usuário cria um arquivo em um diretório compartilhado, ele pode atualizar a permissão de forma que somente ele tenha acesso a escrita, evitando que o arquivo seja apagado ou modificado por outro usuário.

Referências

  1. VALLE, O. T. Adminstração de Redes com Linux: Fundamentos e práticas, IFSC, Florianópolis, 2010.

Evandro.cantu (discussão) 13h57min de 22 de março de 2021 (-03)