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)