Curso de extensão em Administração de Sistemas...

27
Curso de extensão em Administração de Sistemas GNU/Linux Rogerio Bastos Gestores da Rede Acadêmica de Computação Departamento de Ciência da Computação Universidade Federal da Bahia 2012.1

Transcript of Curso de extensão em Administração de Sistemas...

Page 1: Curso de extensão em Administração de Sistemas GNU/Linuxgrsecurity.com.br/apostilas/Linux_Permissoes/aula05.pdf · Curso de extensão em Administração de Sistemas GNU/Linux Rogerio

Curso de extensão em Administração de Sistemas GNU/Linux

Rogerio Bastos

Gestores da Rede Acadêmica de ComputaçãoDepartamento de Ciência da Computação

Universidade Federal da Bahia2012.1

Page 2: Curso de extensão em Administração de Sistemas GNU/Linuxgrsecurity.com.br/apostilas/Linux_Permissoes/aula05.pdf · Curso de extensão em Administração de Sistemas GNU/Linux Rogerio

Gerenciamento de Arquivos

Page 3: Curso de extensão em Administração de Sistemas GNU/Linuxgrsecurity.com.br/apostilas/Linux_Permissoes/aula05.pdf · Curso de extensão em Administração de Sistemas GNU/Linux Rogerio

Controle de Acesso

● O acesso a cada arquivo é controlado por uma série de propriedades armazenadas nos inodes

● Cada arquivo possui um dono e um grupo

● Normalmente, o dono de um arquivo é o usuário que o criou e o grupo do arquivo é o grupo padrão do usuário

Page 4: Curso de extensão em Administração de Sistemas GNU/Linuxgrsecurity.com.br/apostilas/Linux_Permissoes/aula05.pdf · Curso de extensão em Administração de Sistemas GNU/Linux Rogerio

Controle de Acesso

● Cada arquivo possui um modo de acesso, que define as permissões das classes de usuários:

● Usuário – o dono do arquivo● Grupo - o grupo do arquivo● Outros – todos os outros usuários

● Para cada uma das classes são definidas três tipos de permissões, que se aplicam de forma diferente para arquivos e diretórios

Page 5: Curso de extensão em Administração de Sistemas GNU/Linuxgrsecurity.com.br/apostilas/Linux_Permissoes/aula05.pdf · Curso de extensão em Administração de Sistemas GNU/Linux Rogerio

Controle de Acesso

Permissão Mnemônico Arquivo Diretório

Leitura rAcesso ao conteúdo do arquivo

Listar o conteúdo do diretório

Escrita w Alterar o arquivoCriar e remover arquivo no diretório

Execução x Executar como um programa

Acessar (cd into) o diretório

Page 6: Curso de extensão em Administração de Sistemas GNU/Linuxgrsecurity.com.br/apostilas/Linux_Permissoes/aula05.pdf · Curso de extensão em Administração de Sistemas GNU/Linux Rogerio

Controle de Acesso

● Todas as permissões são binárias

Page 7: Curso de extensão em Administração de Sistemas GNU/Linuxgrsecurity.com.br/apostilas/Linux_Permissoes/aula05.pdf · Curso de extensão em Administração de Sistemas GNU/Linux Rogerio

Controle de Acesso

● As permissões são exibidas pelo comando ls na forma de mnemônicos

$ ls -l /etc/passwd

-rw-r--r-- 1 root root 1331 Nov 6 16:53 /etc/passwd

Page 8: Curso de extensão em Administração de Sistemas GNU/Linuxgrsecurity.com.br/apostilas/Linux_Permissoes/aula05.pdf · Curso de extensão em Administração de Sistemas GNU/Linux Rogerio

Controle de Acesso

● Adicionalmente, há mais três bits que controlam atributos especiais para arquivos executáveis e diretórios

● SUID● SGID● Sticky

Page 9: Curso de extensão em Administração de Sistemas GNU/Linuxgrsecurity.com.br/apostilas/Linux_Permissoes/aula05.pdf · Curso de extensão em Administração de Sistemas GNU/Linux Rogerio

Controle de Acesso

● SUID

● Aplica-se apenas a arquivos executáveis● Os processos criados a partir de arquivos

com o bit SUID ligado serão executados com o usuário que é dono do arquivo

● Permite alterar temporariamente as permissões do usuário (e.g. passwd)

● Também pode ocasionar falhas de segurança

Page 10: Curso de extensão em Administração de Sistemas GNU/Linuxgrsecurity.com.br/apostilas/Linux_Permissoes/aula05.pdf · Curso de extensão em Administração de Sistemas GNU/Linux Rogerio

Controle de Acesso

● SGID● Funciona de forma similar ao bit SUID,

porém se aplica ao grupo● Também afeta diretórios, neste caso

novos arquivos criados dentro de um diretório com o bit SGID ligado terão o mesmo grupo que este diretório

Page 11: Curso de extensão em Administração de Sistemas GNU/Linuxgrsecurity.com.br/apostilas/Linux_Permissoes/aula05.pdf · Curso de extensão em Administração de Sistemas GNU/Linux Rogerio

Controle de Acesso

● Sticky● O uso do bit sticky em arquivos tornou-se

obsoleto● Quando aplicado a diretórios, oferece

uma camada adicional de segurança● Apenas o dono do arquivo, o dono do

diretório ou o usuário root podem remover ou renomear um arquivo dentro de um diretório com o bit sticky ligado

● O diretório /tmp normalmente tem o bit sticky ligado

Page 12: Curso de extensão em Administração de Sistemas GNU/Linuxgrsecurity.com.br/apostilas/Linux_Permissoes/aula05.pdf · Curso de extensão em Administração de Sistemas GNU/Linux Rogerio

Controle de Acesso

● Representando as permissões em octal

Page 13: Curso de extensão em Administração de Sistemas GNU/Linuxgrsecurity.com.br/apostilas/Linux_Permissoes/aula05.pdf · Curso de extensão em Administração de Sistemas GNU/Linux Rogerio

Controle de Acesso

● Representando as permissões em texto

Page 14: Curso de extensão em Administração de Sistemas GNU/Linuxgrsecurity.com.br/apostilas/Linux_Permissoes/aula05.pdf · Curso de extensão em Administração de Sistemas GNU/Linux Rogerio

Controle de Acesso

● Representando as permissões em texto:● O bit SUID é representado por um s na

posição do x da permissão do dono● O bit SGID é representado por um s na

posição do x da permissão do grupo● O bit sticky é representado por um t na

posição do x da permissão de outros● Exemplos:

Page 15: Curso de extensão em Administração de Sistemas GNU/Linuxgrsecurity.com.br/apostilas/Linux_Permissoes/aula05.pdf · Curso de extensão em Administração de Sistemas GNU/Linux Rogerio

Controle de Acesso

● O comando stat exibe informações sobre o status do arquivo/diretório

Page 16: Curso de extensão em Administração de Sistemas GNU/Linuxgrsecurity.com.br/apostilas/Linux_Permissoes/aula05.pdf · Curso de extensão em Administração de Sistemas GNU/Linux Rogerio

Controle de Acesso

● Novos arquivos são criados com as permissões definidas pela configuração do sistema ou do usuário (e.g. ~/.profile)

● O comando umask é utilizado para definir e/ou visualizar a configuração padrão

● Executado sem parâmetros o umask exibe o valor corrente

Page 17: Curso de extensão em Administração de Sistemas GNU/Linuxgrsecurity.com.br/apostilas/Linux_Permissoes/aula05.pdf · Curso de extensão em Administração de Sistemas GNU/Linux Rogerio

Controle de Acesso

● Quando executado com os devidos parâmetros o umask define as permissões apenas para o shell corrente

● O parâmetro esperado é um número em octal

● Exemplo● $ umask 22

Page 18: Curso de extensão em Administração de Sistemas GNU/Linuxgrsecurity.com.br/apostilas/Linux_Permissoes/aula05.pdf · Curso de extensão em Administração de Sistemas GNU/Linux Rogerio

Controle de Acesso

● Quando um arquivo é criado o umask subtrai 666 da máscara definida

Page 19: Curso de extensão em Administração de Sistemas GNU/Linuxgrsecurity.com.br/apostilas/Linux_Permissoes/aula05.pdf · Curso de extensão em Administração de Sistemas GNU/Linux Rogerio

Controle de Acesso

● Quando um diretório é criado o umask subtrai 777 da máscara definida

Page 20: Curso de extensão em Administração de Sistemas GNU/Linuxgrsecurity.com.br/apostilas/Linux_Permissoes/aula05.pdf · Curso de extensão em Administração de Sistemas GNU/Linux Rogerio

Controle de Acesso

● As permissões de um arquivo/diretório podem ser alterados com o comando chmod

Page 21: Curso de extensão em Administração de Sistemas GNU/Linuxgrsecurity.com.br/apostilas/Linux_Permissoes/aula05.pdf · Curso de extensão em Administração de Sistemas GNU/Linux Rogerio

Controle de Acesso

● Sintaxe:● chmod [options] octal_mode files

● Opções:● -v: modo verbose● -c: semelhante ao verbose, mas só

mostra as alterações● -R: modo recursivo

● Exemplo:● $ chmod 644 afile

Page 22: Curso de extensão em Administração de Sistemas GNU/Linuxgrsecurity.com.br/apostilas/Linux_Permissoes/aula05.pdf · Curso de extensão em Administração de Sistemas GNU/Linux Rogerio

Controle de Acesso

● Sintaxe:● chmod [options] symbolic_mode[,symbolic_mode]...files

* Só aplica a diretórios ou arquivos que já possuem permissão de execução para algum usuário

Classes Operações Permissões

Usuário (u)Grupo (g)Outros (o)Todos (a)

Adicionar (+)Remover (-)Definir (=)

Leitura (r)Escrita (w)Execução (x)Execução* (X)SUID / SGID (s)Sticky bit (t)

Page 23: Curso de extensão em Administração de Sistemas GNU/Linuxgrsecurity.com.br/apostilas/Linux_Permissoes/aula05.pdf · Curso de extensão em Administração de Sistemas GNU/Linux Rogerio

Controle de Acesso

● u+x – adiciona permissão de execução para o dono

● go-w – remove permissão de excrita para o grupo e outros

● o+t – adiciona o bit sticky

● a=rw – define permissão de leitura e escrita para todos

Page 24: Curso de extensão em Administração de Sistemas GNU/Linuxgrsecurity.com.br/apostilas/Linux_Permissoes/aula05.pdf · Curso de extensão em Administração de Sistemas GNU/Linux Rogerio

Controle de Acesso

● Exemplos:● $ chmod -v u=rw,go=r afile● $ chmod -R -v o-rwx adir● $ chmod -v +t adir

Page 25: Curso de extensão em Administração de Sistemas GNU/Linuxgrsecurity.com.br/apostilas/Linux_Permissoes/aula05.pdf · Curso de extensão em Administração de Sistemas GNU/Linux Rogerio

Controle de Acesso

● Para alterar o dono e o grupo de um arquivo/diretório utiliza-se o comando chown

● Sintaxe● chown [options] user-owner files● chown [options] user-owner.group-owner files

Page 26: Curso de extensão em Administração de Sistemas GNU/Linuxgrsecurity.com.br/apostilas/Linux_Permissoes/aula05.pdf · Curso de extensão em Administração de Sistemas GNU/Linux Rogerio

Controle de Acesso

● Opções:● -v: modo verbose● -c: semelhante ao verbose, mas só

mostra as alterações● -R: modo recursivo

● Exemplos:● # chown -v jdoe afile● # chown -v jdoe.sales afile

Page 27: Curso de extensão em Administração de Sistemas GNU/Linuxgrsecurity.com.br/apostilas/Linux_Permissoes/aula05.pdf · Curso de extensão em Administração de Sistemas GNU/Linux Rogerio

Controle de Acesso

● Para alterar apenas o grupo de um arquivo/diretório utiliza-se o comando chgrp

● Sintaxe● chgrp [options] group-owner files

● Exemplo:● # chgrp -Rv sales sales