Protegendo Arquivos
- Além do nome, um arquivo tem vários atributos:
- data de alteração
- usuário proprietário
- grupo (de usuários) proprietário
- permissões (modos) de acesso
- O modo de acesso protege os arquivos de acesso
indesejado
- Modos de acesso são especificados separadamente para
os proprietários e os demais usuários
- O usuário proprietário não é necessariamente
membro do grupo proprietário
- Quando um arquivo é criado os seus proprietários são
o usuário que criou o arquivo e o grupo
primário deste usuário
Trocando os Proprietários de um Arquivo
- Só o dono do arquivo ou root pode alterar o usuário
proprietário:
- chown novodono arq1 arq2 ...
-
especificando-se o nome ou o número identificador do
novo dono
- Só root ou o dono do arquivo pode alterar o grupo
proprietário:
- chgrp novogrupo arq1 arq2 ...
-
(versão BSD requer que o dono seja membro do novo
grupo)
- Trocas em uma hierarquia de diretórios (recursão):
- chown -R novodono dir
- chgrp -R novogrupo dir
- Alterando usuário e grupo ao mesmo tempo:
- chown ndono.ngrupo arq1 arq2 ...
Permissões-Tipos de Acesso
r leitura
w escrita
x execução
- A listagem detalhada de arquivos em um diretório
especificado requer tipo de acesso xr
- O tipo de acesso w a um diretório permite
remover arquivos do mesmo, ainda que não se tenha tipo
de acesso w aos arquivos
Permissões-Classes de Acesso
u usuário proprietário
g grupo proprietário
o outros usuários
a todas acima
Alterando Permissões
- O comando chmod:
- chmod [classes]OP[tipos] arqs
-
onde OP é um dos seguintes operadores:
+ adiciona permissão
- retira permissão
= define nova permissão
- Evitando alterações não planejadas:
- chmod a-w arq
- Combinando classes e tipos de acesso:
- chmod u+w,go+r-w arq
- Alterando permissões de uma hierarquia de diretórios:
- chmod -R go-w dir
- Especificando tipos de acesso relativos:
- chmod o=g *
- Especificando permissões numericamente:
usuário grupo outros
r w x r - x r - -
7 5 4
chmod 754 arq
Especificando Permissões de Acesso Default
Para o modo de acesso desejado modo_númerico faz-se
$ umask val
onde val é igual a
`modo_númerico - 777'
Assim usa-se
$ umask 023
para obter proteção 754 por default
Permissões de Acesso Especiais
- t ... executável permanece na memória
após terminação
-
- t ... usuário só pode deletar arquivos que
ele tenha permissão, mesmo que ele possa escrever no
diretório
- s ... programa é executado com o ID do
usuário proprietário
- s ... programa é executado com o ID do grupo
proprietário
- s ... arquivos criados no diretório
pertencerão ao grupo dono do diretório
- l ... arquivo é sempre bloqueado para leitura e
escrita