Permissão de arquivos Linux
Neste capítulo estudaremos o sistema de permissões do linux. O sistema de permissões permite ao administrador do sistema (root) definir o nível de acesso ao usuários, grupos e outros arquivos e diretórios além de programas executáveis. As permissões de acesso protege o sistema de algumas invasões e respectivos programas não autorizados. Por exemplo, no linux, podemos impedir que algum programa malicioso instale-se na máquina, delete algum arquivo ou que seja transferido para outras pessoas via rede, de modo a invadir outros sistemas.
3 níveis de permissão
O linux gerencia o sistema de privilégios em 3 tipos:
1. Privilégio do dono
2. Privilégio do Grupo
3. Privilégio de outros
Cada um destes tipos são divididos em 3 níveis de permissões de acesso:
1. Permissão de leitura (r)
2. Permissão de escrita (w)
3. Permissão de execução (x)
As definições de propriedade do usuário e do grupo fazem parte do inode e ambas são atribuídas quando um arquivo é criado. Geralmente, o proprietário é o usuário que criou o arquivo. O grupo do arquivo normalmente é definido como padrão do seu criador. A propriedade de grupo adiciona flexibilidade em situações nas quais uma equipe compartilha arquivos. Os “outros” usuários são aqueles que não são membros do grupo do arquivo e também não são os proprietários. Para cada uma dessas três classes de usuários, o modo de acesso define três tipos de permissões, que se aplicam diferentemente para arquivos e diretórios. As permissões encontram-se listadas na lista abaixo:
Examinar o conteúdo de um arquivo e poder listá-lo:
r
Escrever ou modificar um arquivo. Criar ou remover arquivos de um diretório:
w
Executar um arquivo como um programa. Acessar o diretório.
x
Essas três permissões se aplicam as três classes diferentes de usuários: usuários, grupo e outros. Cada uma tem permissão de leitura, escrita e execução.
Visualizando privilégios e permissões
Você pode visualizar as permissões de arquivos e diretórios listando-os com o comando:
ls -l /home/usuario
(Visualiza privilégios e permissões de arquivos)
ls -ld /home/usuario
(Visualiza privilégios e permissões de diretórios)
Ao executar o comando ls -l você terá como retorno, algo semelhante a :
drwx—— … 2 wester …………. 512 Jan … 29 23:30 .. Arquivos/
-rw-rw-r– … 1 wester ……. 280232 Dec .. 16 22:41… notas.txt
O primeiro caractere das linhas acima indicam o tipo de arquivo:
d Diretório
b Arquivo de bloco
c Arquivo especial de caractere
p Canal
s Socket
– Arquivo “normal”.
Repare agora que no restante da string ainda há 9 caracteres. Que são os 3 níveis de permissões (Dono, grupo e outros). usando o exemplo da segunda linha, arquivo (notas.txt):
rw- Permissões do proprietários
rw- Permissão do grupo
r– Permissão para outros
Lista de permissões comuns:
—
Nenhuma permissão
r–
Permissão de leitura
r-x
Leitura e execução
rw-
Leitura e gravação
rwx
Leitura, gravação e execução
Para configurar um arquivo usando as permissões do modo textual (que vimos até o momento) usamos o comando:
chmod u+rw, g+w, o-rwx arquivo.txt
Onde:
U – Representa o usuário
G – Representa o grupo
O – Representa outros
Permissões em sistema Octal
Além de podemos configurar as permissões do modo textual. Podemos usar o modo octal, neste caso:
r = 4
w = 2
x = 1
Se você somar os 3 números, vai obter 7, que significa permissão total, ou seja, rwx. Exemplo:
chmod 764 arquivo.txt
Os respectivos valores são:
rwx = 7 (Dono – Acesso total)
rw- = 6 (Grupo – Leitura e Gravação)
r– = 4 (Outros – Acesso a leitura)