Curso de extensão em Administração de Sistemas...
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](https://reader034.fdocument.pub/reader034/viewer/2022052610/5be9137709d3f25b278be824/html5/thumbnails/1.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022052610/5be9137709d3f25b278be824/html5/thumbnails/2.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022052610/5be9137709d3f25b278be824/html5/thumbnails/3.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022052610/5be9137709d3f25b278be824/html5/thumbnails/4.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022052610/5be9137709d3f25b278be824/html5/thumbnails/5.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022052610/5be9137709d3f25b278be824/html5/thumbnails/6.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022052610/5be9137709d3f25b278be824/html5/thumbnails/7.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022052610/5be9137709d3f25b278be824/html5/thumbnails/8.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022052610/5be9137709d3f25b278be824/html5/thumbnails/9.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022052610/5be9137709d3f25b278be824/html5/thumbnails/10.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022052610/5be9137709d3f25b278be824/html5/thumbnails/11.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022052610/5be9137709d3f25b278be824/html5/thumbnails/12.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022052610/5be9137709d3f25b278be824/html5/thumbnails/13.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022052610/5be9137709d3f25b278be824/html5/thumbnails/14.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022052610/5be9137709d3f25b278be824/html5/thumbnails/15.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022052610/5be9137709d3f25b278be824/html5/thumbnails/16.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022052610/5be9137709d3f25b278be824/html5/thumbnails/17.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022052610/5be9137709d3f25b278be824/html5/thumbnails/18.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022052610/5be9137709d3f25b278be824/html5/thumbnails/19.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022052610/5be9137709d3f25b278be824/html5/thumbnails/20.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022052610/5be9137709d3f25b278be824/html5/thumbnails/21.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022052610/5be9137709d3f25b278be824/html5/thumbnails/22.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022052610/5be9137709d3f25b278be824/html5/thumbnails/23.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022052610/5be9137709d3f25b278be824/html5/thumbnails/24.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022052610/5be9137709d3f25b278be824/html5/thumbnails/25.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022052610/5be9137709d3f25b278be824/html5/thumbnails/26.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022052610/5be9137709d3f25b278be824/html5/thumbnails/27.jpg)
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