unidade 3.5 permissões e propriedades de arquivos
TRANSCRIPT
Configuração de Sistemas Configuração de Sistemas Operacionais de Rede Operacionais de Rede (CSOR)(CSOR)Tecnologia em Redes de ComputadoresTecnologia em Redes de ComputadoresProf. Esp. Juan Carlos Oliveira LamarãoProf. Esp. Juan Carlos Oliveira LamarãoAbril- 2016
Plano de AulaPlano de Aula
Unidade III: Servidores Linux
Introdução ao Sistema Operacional Linux
Instalação do Sistema Operacional Linux
Estrutura de Diretórios Linux
Conhecendo e Manipulando o Sistema Linux
Permissões e Propriedades de Arquivos
Recursos do Shell Bash
Comandos de Gerenciamento de Usuário e Processos
Faculdade de Tecnologia do Amapá - METACurso de Tecnologia em Redes de Computadores - [email protected] Página 2
PERMISSÕES E PROPRIEDADE DE ARQUIVOS
Unidade 3
Faculdade de Tecnologia do Amapá - METACurso de Tecnologia em Redes de Computadores - [email protected] Página 4
Conceitos IniciaisConceitos Iniciais
Cada arquivo e diretório em um sistema Linux possui um conjunto de permissões e propriedades integradas a ele. É através disso que o sistema sabe quem pode alterar qual arquivo, quando o arquivo foi modificado, entre outras coisas.
Sendo o Linux um sistema multiusuário, é necessário que que haja uma conta de acesso para utilizá-lo. Além da autenticação para acesso ao sistema, uma outra funcionalidade relativa aos conceitos de usuários e grupos é o de permissões de arquivos, onde é definido quem pode ler ou alterar determinados arquivos e diretórios.
Faculdade de Tecnologia do Amapá - METACurso de Tecnologia em Redes de Computadores - [email protected] Página 5
Conceitos IniciaisConceitos Iniciais
O sistema de arquivos do Linux possibilita que sejam atribuídos direitos de acesso diferenciados para os usuários do sistema. A cada arquivo ou diretório do sistema é associado um proprietário, um grupo e seus respectivos diretórios de acesso, ou permissões.
Cada arquivo/diretório possui três níveis de permissão:
Usuário dono: também chamado de owner, é o proprietário do arquivo/diretório;
Grupo dono: é o grupo proprietário do arquivo/diretório. O grupo pode conter um usuário (geralmente o usuário dono) ou vários usuários.
Outros: Aplica-se a qualquer outro usuário que não se encaixe nos níveis anteriores
Faculdade de Tecnologia do Amapá - METACurso de Tecnologia em Redes de Computadores - [email protected] Página 6
Conceitos IniciaisConceitos Iniciais
E para cada nível existem três tipos de permissão:
Leitura (r): Permissão para visualizar o conteúdo do arquivo, simbolizada por “r” (do inglês read);
Escrita (w): permissão para alterar o conteúdo do arquivo, simbolizada por “w” (do inglês write).
Execução (x): permissão para executar o arquivo, simbolizada por “x” (do inglês execution).
A combinação dos níveis de permissão com os tipos de permissão forma o conjunto de propriedades para cada arquivo.
Faculdade de Tecnologia do Amapá - METACurso de Tecnologia em Redes de Computadores - [email protected] Página 7
Verificando PermissõesVerificando Permissões
Para visualizar as permissões de um arquivo, pode-se utilizar o comando ls -l, que listará os arquivos do diretório atual com uma série de informações adicionais, incluindo colunas com as permissões, nome do usuário e do grupo dono do arquivo.
Ex.:
A primeira coluna (da esquerda para a direita) é a que contém todas permissões; a segunda indica os links diretos do arquivo; a terceira e quarta colunas especificam o nome do usuário e grupo ao qual pertencem o arquivo. As demais colunas mostram informações adicionais sobre o arquivo.
Faculdade de Tecnologia do Amapá - METACurso de Tecnologia em Redes de Computadores - [email protected] Página 8
$ ls -lTotal 2732-rw------- 1 jose desenv 1524 2014-09-30 15:42 passwd-rw-r--r-- 1 maria desenv 281312 2014-08-02 14:24 musica.mp3-rwxr-xr-x 1 root root 748 2014-11-01 19:03 backup.sh
Verificando PermissõesVerificando Permissões
Na primeira coluna, é mostrado um vetor com espaço para 10 caracteres. O primeiro identifica o tipo do arquivo, enquanto que os outros 9 são o conjunto de três permissões para cada um dos três níveis (usuário, grupo e outros, respectivamente). O fluxograma a seguir mostra um exemplo de verificação das permissões em uma operação de leitura para um arquivo:
Faculdade de Tecnologia do Amapá - METACurso de Tecnologia em Redes de Computadores - [email protected] Página 9
$ ls -lTotal 2732-rw------- 1 jose desenv 1524 2014-09-30 15:42 passwd-rw-r--r-- 1 maria desenv 281312 2014-08-02 14:24 musica.mp3-rwxr-xr-x 1 root root 748 2014-11-01 19:03 backup.sh
Verificando PermissõesVerificando Permissões
Faculdade de Tecnologia do Amapá - METACurso de Tecnologia em Redes de Computadores - [email protected] Página 10
Usuário atual édono do arquivo?
Usuáriopertence
ao grupo do arquivo?
Permissãode leitura
habilitada?
Pode Ler
Permissão de leitura para o grupo?
Leitura para Outros?
Acesso NegadoSim
Sim
Sim
SimSi
m
Não
Não
Não
Não
Não
Pode Ler!
AcessoNegado!
AcessoNegado!
Pode Ler!
Modo Octal e Modo TextualModo Octal e Modo Textual
Faculdade de Tecnologia do Amapá - METACurso de Tecnologia em Redes de Computadores - [email protected] Página 11
Para alterar as permissões e propriedades de arquivos e diretórios, existem vários comandos disponíveis. Uma similaridade entre eles é que os parâmetros de níveis e tipos de permissões podem ser indicados de duas formas
Modo TextualModo Textual
Faculdade de Tecnologia do Amapá - METACurso de Tecnologia em Redes de Computadores - [email protected] Página 12
No modo textual, utilizam-se os caracteres u para usuário dono do arquivo, g para grupo dono do arquivo e o para outros, com um sinal de mais (+) a permissão é adicionada e menos(-) é removida.
Veja o exemplo genérico a seguir (os detalhes do comando chmod serão vistos mais adiante):
$ chmod u+rw,g+w,o-rwx arquivo.txt
Adiciona leitura e escrita para o dono, adiciona escrita para o grupo e remove todas as outras permissões para outras usuários, em arquivo2.txt.
Modo OctalModo Octal
Faculdade de Tecnologia do Amapá - METACurso de Tecnologia em Redes de Computadores - [email protected] Página 13
No formato octal, as permissões são representadas por números na base octal, onde leitura é representado pelo valor 4, a escrita por 2 e execução por 1. Somando-se os valores obtém-se a permissão desejada para cada nível. Exemplo:
$ chmod 640 arquivo.txx
É importante lembrar que o usuário root possui permissões ilimitadas, ou seja, ele poderá visualizar ou modificar qualquer permissão de qualquer usuário, em qualquer diretório. Além disto, no notação octal, o comando substitui a permissão atual do arquivo.
Comandos e ArgumentosComandos e Argumentos
Os comandos a seguir são os principais utilizados para modificar e visualizar as propriedades e permissões de arquivos e diretórios.
chmod
Permite que se alterem a permissões e propriedades de um ou mais arquivos (change mode). É importante ressaltar que o usuário deve ter permissões para fazer as alterações (por exemplo: deve ser root, deve ser dono do arquivo, ou deve estar no grupo do arquivo, com permissão de escrita). Pode utilizar tanto a notação textual como a octal. Principais opções:
Faculdade de Tecnologia do Amapá - METACurso de Tecnologia em Redes de Computadores - [email protected] Página 14
Chmod [opções] arquivo | diretório
-R Permite que se altere recursivamente as permissões de arquivos e diretórios.
--reference=rarquivo Permite que o arquivo seja modificado tomando como referência as permissões de arquivo
Comandos e ArgumentosComandos e Argumentos
As tabelas a seguir facilitam a visualização das notações utilizadas pelo chmod
Faculdade de Tecnologia do Amapá - METACurso de Tecnologia em Redes de Computadores - [email protected] Página 15
Nível de Permissão – Notação textual
u Usuário ou dono do arquivo
g Grupo do arquivo
o Outros usuários que não são donos e não estão cadastrados no grupo
a Afeta todos os anteriores (u, g, o). É a opção padrão, caso o nível seja omitido
Tipo de Permissão – Noção Textual
r Concede ou remove permissão de leitura
w Concede ou remove permissão de escrita
x Concede ou remove permissão de execução
Comandos e ArgumentosComandos e Argumentos
Faculdade de Tecnologia do Amapá - METACurso de Tecnologia em Redes de Computadores - [email protected] Página 16
Tipo de Permissão – Notação Octal
4 Indica permissão de leitura
2 Indica permissão de escrita
1 Indica permissão de execução
7 Indica todas as permissões
0 Indica sem permissão
Operadores Exclusivos da Notação Textual
+ Concede permissão(ões) especificada(s)
- Remove permissão(ões)
= Atribui somente esta(s) permissão(ões) ao arquivo, removendo a(s) que não se encontra(m) explicita(s)
Exemplos Exemplos chmodchmod
$ chmod u+rw,g+x documento.txt
$ chmod 610 documento.txt
$ chmod +x binario.sh
$ chmod –reference=documento.txt documento2.txt
$ chmod -R ug=rw,o=r testes/
Faculdade de Tecnologia do Amapá - METACurso de Tecnologia em Redes de Computadores - [email protected] Página 17
Exemplos Exemplos chmodchmod
$ chmod u+rw,g+x documento.txt
Concede permissões de leitura e gravação ao dono, execução ao grupo para o arquivo documento.txt. Note que somente quem tem permissão pode executar este comando (root ou o dono do arquivo).
$ chmod 610 documento.txt
Define permissão de leitura e gravação ao dono (4+2 = rw), execução para o grupo (1 = x), e nenhuma permissão para qualquer outro usuário (zero). Importante notar que difere do exemplo anterior, pois na notação textual as permissões podem ser adicionadas às atuais, enquanto que na notação octal, o comando define a permissão do arquivo.
$ chmod +x binario.sh
concede permissão de execução (+x) de binario.sh para todos os usuários do sistema
$ chmod –reference=documento.txt documento2.txt
Aplica as mesmas permissões de documento.txt para documento2.txt, caso o usuário possua as permissões necessárias para executar esta mudança
$ chmod -R ug=rw,o=r testes/
Concede permissão de leitura e gravação ao dono e ao grupo, e permissão de leitura a outros, para o diretório teste e todos os arquivos ou subdiretórios contidos dentro dele.
Faculdade de Tecnologia do Amapá - METACurso de Tecnologia em Redes de Computadores - [email protected] Página 18
Comandos e ArgumentosComandos e Argumentos
chown
Permite a alteração do dono e do grupo relacionado ao arquivo, ou arquivos, selecionados (change owner). Um usuário comum pode alterar o grupo de um arquivo caso seja o dono do arquivo e pertença ao grupo de destino. Porém, por motivos de segurança, apenas o superusuário (root) pode alterar o dono de um arquivo.
Principais opções:
Faculdade de Tecnologia do Amapá - METACurso de Tecnologia em Redes de Computadores - [email protected] Página 19
Chown [novo_proprietário][:novo_grupo] arquivo/diretório
-R Permite que se altere recursivamente o proprietário e o grupo do(s) arquivo(s).
--reference=arquivo2 O arquivo usará o grupo configurado para arquivo2.
Exemplos Exemplos chownchown
$ chown :grupo02 documento.txt
$ ls -la documento.txt
-rwxrwxr-- 1 aluno grupo02 19127 2004-07-15 18:10 documento.txt
Altera o grupo de documento.txt para grupo02. Note que se o usuário não tiver permissões suficientes, será mostrada uma mensagem de erro.
# chown aluno2:grupo02 documento.txt
# ls -la documento.txt
-rwxrwxr-- 1 aluno2 grupo02 19127 2004-07-15 18:10 documento.txt
Altera o dono do arquivo documento.txt para aluno2 e o grupo do mesmo para grupo02. Lembre-se que apenas o superusuário (root) pode realizar esta alteração
$ chown --reference=documento.txt documento2.txt
Atribui as permissões do documento.txt no documento2.txt
Faculdade de Tecnologia do Amapá - METACurso de Tecnologia em Redes de Computadores - [email protected] Página 20
Comandos e ArgumentosComandos e Argumentos
chgrp
Altera apenas o grupo para os arquivos, ou diretórios, indicados (change group). Um usuário comum pode alterar o grupo de um arquivo caso ele pertença tanto ao grupo de origem como ao grupo de destino. O superusuário (root) pode alterar o grupo do arquivo válido no sistema. O comando chown, somente com o parâmetro :grupo (ou seja, sem modificar o usuário dono, somente o grupo) é equivalente ao comando chgrp.
Principais opções:
Faculdade de Tecnologia do Amapá - METACurso de Tecnologia em Redes de Computadores - [email protected] Página 21
Chmod [opções] arquivo | diretório
-R Permite que se altere recursivamente as permissões de arquivos e diretórios.
--reference=arquivo2 Permite que o comando use o grupo configurado para arquivo2 para configurar outros grupos.
-c Descreva detalhadamente a ação para cada arquivo cuja propriedade de grupo está sendo alterada.
-f Força a mudança de grupo, sem relatório de erros.
Exemplos Exemplos chownchown
$ chgrp coisas texto1 texto2 Imagens/
Modifica o grupo associado aos arquivos texto1, texto2 e ao diretório Imagens, associando-os ao grupo coisas. Note que o usuário deverá ter as permissões suficientes para esta modificação, caso contrário será mostrada uma mensagem de erro.
$ chgrp -R empregados comercial/
Modifica o grupo associado ao diretório comercial, associando-o ao grupo empregados, e modifica recursivamente todos os arquivos e subdiretórios contidos no diretório comercial para o grupo empregados
Faculdade de Tecnologia do Amapá - METACurso de Tecnologia em Redes de Computadores - [email protected] Página 22
Permissões Padrão Permissões Padrão umaskumask
Todo o arquivo ou diretório em um sistema Linux, ao ser criado, recebe permissões iniciais, indicando o acesso para o proprietário do arquivo, para o grupo ao qual pertence, bem como para os outros usuários.
Estas permissões são criadas através da mascara para usuários ou umask. A umask é constituída de três números, que funcionam removendo permissões, quando o usuário criar ou copiar arquivos e diretórios.
O valor padrão da umask para a maioria das distribuições é 022 (666 – 022 = 644) ou (777 – 022 = 755).
$ umask
Este comando define as permissões padrão dos arquivos que serão criados ou copiados pelo usuário.
Faculdade de Tecnologia do Amapá - METACurso de Tecnologia em Redes de Computadores - [email protected] Página 23
Permissões em DiretóriosPermissões em Diretórios
Para diretórios, as permissões possuem um significado ligeiramente diferente. Para compreender mais facilmente os conceitos, basta imaginar um diretório como se fosse “um arquivo que contém outros arquivos”.
Faculdade de Tecnologia do Amapá - METACurso de Tecnologia em Redes de Computadores - [email protected] Página 24
Permissão Em Arquivo Em diretório
Leitura Permissão para visualizar o conteúdo do arquivo.
Permissão para visualizar o conteúdo do diretório (ou seja, listar seu conteúdo, utilizando um comando como o ls).
Escrita Permissão para alterar o conteúdo do arquivo.
Permissão para alterar o conteúdo do diretório (ou seja, criar ou remover arquivos nele contidos).
Execução Permissão para executar o arquivo.
Permissão para acessar o diretório (através do comando cd, por exemplo).
Permissões em DiretóriosPermissões em Diretórios
Um diretório que tenha permissão 755, permite que seu dono faça qualquer alteração, mas outros usuários podem apenas acessá-lo e ler seu conteúdo. Nesse modo, cada arquivo contido no diretório fica protegido por sua própria permissão. É o modo mais comum.
Um diretório com permissão 710 tem como característica interessante permitir que usuários do grupo a que ele pertence acessem arquivos em seu interior, mas desde que saibam seu nome, uma vez que a listagem do conteúdo não é permitido.
Um diretório com permissões 744 permite que outros listem seu conteúdo, mas não acessem os arquivos. Nesse modo (muito pouco utilizado), apenas os nomes dos arquivos estão disponíveis.
Obs.: Diretórios têm suas permissões alteradas do mesmo modo que arquivos, utilizando o comando chmod, chown e chgrp.
Faculdade de Tecnologia do Amapá - METACurso de Tecnologia em Redes de Computadores - [email protected] Página 25
Permissões EspeciaisPermissões Especiais
Existem algumas permissões especiais de arquivos/diretórios que oferecem funcionalidades além das simples permissões de acesso.
SUID
O bit SUID é utilizado em arquivos executáveis quando se deseja que o programa seja executado com os privilégios de seu usuário dono. Isso é útil em situações onde um programa precise acessar determinado recurso, mas os usuários que o utilizem não possam fazer diretamente. Embora a utilidade do bit SUID seja inquestionável, seu uso deve ser feito com muito cuidado, pois um problema em sua configuração pode ter consequências sérias de segurança (especialmente se o SUID for para o usuário root).
O bit SUID é representado textualmente por u+s. Ex.:
$ chmod u+s arquivo_executavel
Em octal é o número 4, mas utilizado antes das permissões de dono/grupo/outros. Ex.:
$ chmod 4755 arquivo_executavel
Faculdade de Tecnologia do Amapá - METACurso de Tecnologia em Redes de Computadores - [email protected] Página 26
Permissões EspeciaisPermissões Especiais
GUID
O bit SGID tem a mesma função do bit SUID, mas é aplicado ao grupo, ou seja, o programa é executado com os privilégios do grupo a que pertence.
A representação textual do bit SGID é g+s e em forma octal é utilizado o número 2, também utilizado antes das permissões de dono/grupo/outros. Ex.:
$ chmod g+s arquivo_executavel
$ chmod 2755 arquivo _executavel
O bit SGID também pode ser utilizado em diretórios. Nesse caso, todos os arquivos criados dentro deste terão como grupo dono o mesmo grupo a que o diretório pertence.
Faculdade de Tecnologia do Amapá - METACurso de Tecnologia em Redes de Computadores - [email protected] Página 27
Permissões EspeciaisPermissões Especiais
Sticky Bit
O sticky bit é utilizado em diretórios compartilhados entre vários usuários (em combinação com permissões de escrita para estes), onde seja desejável que usuários não acessem os arquivos por outros criados. Em outras palavras, um diretório com o sticky bit ligado permite que qualquer crie arquivos, mas os outros usuários não poderão remover estes arquivos.
A representação textual do sticky bit é através do +t e em formato octal é através do número 1, antes das permissões de dono/grupo/outros. Como em $ chmod +t diretorio_compartilhado ou $ chmod 1777 diretorio_compartilhado
Faculdade de Tecnologia do Amapá - METACurso de Tecnologia em Redes de Computadores - [email protected] Página 28
DicasDicas
A umask pode ser de grande utilidade para programas que criam arquivos/diretórios temporários, pois desta forma, pode-se bloquear o acesso de outros usuários e a criação de arquivos, sem precisar recorrer ao chmod.
Modifique a umask somente se necessário. É preciso atenção antes de escolher a umask, pois um valor mal escolhido poderá causar problemas de acesso a arquivos, diretórios ou programas.
Por padrão, quando um usuário é criado, é criado um grupo com o mesmo nome de usuário. É possível visualizar estar informações com o comando id.
O comando chmod não permite a mudança das permissões de links simbólicos, ou seja, as permissões devem ser mudadas no arquivo alvo do link.
É possível copiar de acesso do arquivo diretamente. Por Exemplo: se o usuário digitar chmod o=u, as permissões de acesso dos outros usuários (o) serão idênticas ao do dono (u).
Faculdade de Tecnologia do Amapá - METACurso de Tecnologia em Redes de Computadores - [email protected] Página 29