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

Post on 12-Nov-2018

216 views 0 download

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

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

Gerenciamento de Arquivos

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

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

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

Controle de Acesso

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

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

Controle de Acesso

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

● SUID● SGID● Sticky

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

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

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

Controle de Acesso

● Representando as permissões em octal

Controle de Acesso

● Representando as permissões em texto

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:

Controle de Acesso

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

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

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

Controle de Acesso

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

Controle de Acesso

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

Controle de Acesso

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

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

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)

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

Controle de Acesso

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

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

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

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