Curso de extensão em Administração de Sistemas...
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