Curso de extensão da
Faculdade Ruy Barbosa
Introdução a Administração
de Sistemas GNU/Linux
Dedicasse especial a Rogério Bastos e ao GRACO (Gestores da
Rede Acadêmica de Computação) do DCC – UFBA
Paul Regnier
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
Leitura
Mnemônico
r
Arquivo
Diretório
Acesso ao
conteúdo do
arquivo
Listar o conteúdo
do diretório
Escrita
w
Alterar o arquivo
Criar 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:
●
●
Opções:
●
●
●
●
chmod [options] octal_mode files
-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
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)
* Só aplica a diretórios ou arquivos que já possuem permissão de
execução para algum usuário
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
Download

Aula 5