Unidade 3.1 Introdução ao Sistema Operacional Linux
Permissões e propriedades de arquivos Linux
1. Configuração de SistemasConfiguração de Sistemas
Operacionais de RedeOperacionais de Rede (CSOR)(CSOR)
Tecnologia em Redes de ComputadoresTecnologia em Redes de Computadores
Prof. Esp. Juan Carlos Oliveira LamarãoProf. Esp. Juan Carlos Oliveira Lamarão
Abril- 2016
2. 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á - META
Curso de Tecnologia em Redes de Computadores - juan@meta.edu.br Página 2
3. PERMISSÕES E PROPRIEDADE
DE ARQUIVOS
Unidade 3
Faculdade de Tecnologia do Amapá - META
Curso de Tecnologia em Redes de Computadores - juan@meta.edu.br Página 4
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á - META
Curso de Tecnologia em Redes de Computadores - juan@meta.edu.br Página 5
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á - META
Curso de Tecnologia em Redes de Computadores - juan@meta.edu.br Página 6
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á - META
Curso de Tecnologia em Redes de Computadores - juan@meta.edu.br Página 7
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á - META
Curso de Tecnologia em Redes de Computadores - juan@meta.edu.br Página 8
$ ls -l
Total 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
8. 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á - META
Curso de Tecnologia em Redes de Computadores - juan@meta.edu.br Página 9
$ ls -l
Total 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
9. Verificando PermissõesVerificando Permissões
Faculdade de Tecnologia do Amapá - META
Curso de Tecnologia em Redes de Computadores - juan@meta.edu.br Página 10
Usuário atual é
dono do arquivo?
Usuário
pertence
ao grupo do
arquivo?
Permissão
de leitura
habilitada?
Pode Ler
Permissão de
leitura para o
grupo?
Leitura para
Outros?
Acesso
Negado
Sim
Sim
Sim
Sim
Sim
Não
Não
Não
Não
Não
Pode Ler!
Acesso
Negado!
Acesso
Negado!
Pode Ler!
10. Modo Octal e Modo TextualModo Octal e Modo Textual
Faculdade de Tecnologia do Amapá - META
Curso de Tecnologia em Redes de Computadores - juan@meta.edu.br 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
11. Modo TextualModo Textual
Faculdade de Tecnologia do Amapá - META
Curso de Tecnologia em Redes de Computadores - juan@meta.edu.br 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.
12. Modo OctalModo Octal
Faculdade de Tecnologia do Amapá - META
Curso de Tecnologia em Redes de Computadores - juan@meta.edu.br 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.
13. 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á - META
Curso de Tecnologia em Redes de Computadores - juan@meta.edu.br 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
14. Comandos e ArgumentosComandos e Argumentos
As tabelas a seguir facilitam a visualização das notações utilizadas
pelo chmod
Faculdade de Tecnologia do Amapá - META
Curso de Tecnologia em Redes de Computadores - juan@meta.edu.br 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
15. Comandos e ArgumentosComandos e Argumentos
Faculdade de Tecnologia do Amapá - META
Curso de Tecnologia em Redes de Computadores - juan@meta.edu.br 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)
16. ExemplosExemplos 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á - META
Curso de Tecnologia em Redes de Computadores - juan@meta.edu.br Página 17
17. ExemplosExemplos 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á - META
Curso de Tecnologia em Redes de Computadores - juan@meta.edu.br Página 18
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á - META
Curso de Tecnologia em Redes de Computadores - juan@meta.edu.br 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.
19. ExemplosExemplos 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á - META
Curso de Tecnologia em Redes de Computadores - juan@meta.edu.br Página 20
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á - META
Curso de Tecnologia em Redes de Computadores - juan@meta.edu.br 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.
21. ExemplosExemplos 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á - META
Curso de Tecnologia em Redes de Computadores - juan@meta.edu.br Página 22
22. Permissões PadrãoPermissõ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á - META
Curso de Tecnologia em Redes de Computadores - juan@meta.edu.br Página 23
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á - META
Curso de Tecnologia em Redes de Computadores - juan@meta.edu.br 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).
24. 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á - META
Curso de Tecnologia em Redes de Computadores - juan@meta.edu.br Página 25
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á - META
Curso de Tecnologia em Redes de Computadores - juan@meta.edu.br Página 26
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á - META
Curso de Tecnologia em Redes de Computadores - juan@meta.edu.br Página 27
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á - META
Curso de Tecnologia em Redes de Computadores - juan@meta.edu.br Página 28
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á - META
Curso de Tecnologia em Redes de Computadores - juan@meta.edu.br Página 29