Portal do Governo Brasileiro

permissão de acesso

Descrição

Cada arquivo do sistema está associado a um usuário (dono) e a um grupo. O dono de um arquivo pode definir quem tem acesso ao arquivo e qual tipo de acesso é permitido (leitura, gravação e/ou execução). Isto é chamado de permissão de acesso.

Níveis de acesso

As permissões dos arquivos no Linux são definidas por quatro dígitos que representam:

  1. permissões especiais;
  2. permissões da pessoa que criou o arquivo ou o diretório (dono ou user);
  3. permissões dos usuários membros do mesmo grupo do dono do arquivo ou do diretório (grupo ou group);
  4. permissões do resto dos usuários do sistema (outros ou others).

Permissões comuns

As permissões comuns para o dono, o grupo e os outros são de 3 tipos:

  1. leitura (r) - permite ler o conteúdo de um arquivo/diretório.
  2. escrita (w) - permite alterar um arquivo/diretório.
  3. execução (x) - permite executar um arquivo ou acessar um diretório.

A tabela abaixo mostra as combinações possíveis para se definir uma permissão.

Valor Octal Valor Binário
rwx
Caracteres Significado
0 000 --- nenhuma permissão de acesso
1 001 --x permissão de execução
2 010 -w- permissão de gravação
3 011 -wx permissão de gravação e execução
4 100 r-- permissão de leitura
5 101 r-x permissão de leitura e execução
6 110 rw- permissão de leitura e gravação
7 111 rwx permissão de leitura, gravação e execução

Por exemplo, suponha que a resposta ao comando "ls -l teste" seja a seguinte:

-rw-rw-r-- 1 aluno curso 1024 Fev 13 10:55 teste
A primeira coluna mostra as permissões de acesso dos subdiretórios e arquivos. Como não há qualquer permissão especial definida no exemplo, é possível dizer que o arquivo teste tem permissão 0664.

Permissões especiais

Para executar um processo, o Linux usa as permissões do usuário que o iniciou. Isso significa que os privilégios do usuário se aplicam a todas as ações do processo. O problema é que somente o root pode fazer tudo no sistema e um usuário pode, por exemplo, não ter permissão para usar um navegador da Internet.

Para contornar este problema, o Linux divide a identificação (ID) do usuário e do grupo do usuário em real e efetivo: o primeiro indica qual o UID e o GID do usuário no sistema; enquanto o segundo indica quais UID e GID estão sendo realmente utilizados pelo usuário. A alteração dos IDs durante a execução de programas é feita através de três permissões especiais:

Note que estas permissões se referem a execução de um arquivo ou a autorização de acesso a um diretório. Portanto, elas estão relacionadas a permissão x. Os seguintes valores são usados para identificar o uso de permissão especial em um arquivo/diretório:

Valor Octal Valor Binário
ugo
Significado
0 000 nenhuma permissão especial
1 001 sticky bit
2 010 SGID
3 011 SGID e sticky bit
4 100 SUID
5 101 SUID e sticky bit
6 110 SUID e SGID
7 111 SUID, SGID e sticky bit

Por exemplo, suponha que a resposta ao comando "ls -l teste" seja a seguinte:

-rwSrwSr-- 1 aluno curso 1024 Fev 13 10:55 teste
A string "-rwSrwSr--" indica que: Para esse exemplo, é possível dizer que o arquivo teste tem permissão 6664.

A tabela abaixo mostra o significado das letras quando existem permissões especiais. Note que a a permissão especial só informa como a execução será feita, não autoriza a execução. Portanto, no exemplo acima com permissões "-rwSrwSr--", ninguém conseguirá executar o arquivo teste, pois ninguém tem permissão para isto.

Permissão Nível Significado
S dono SUID
s dono SUID + permissão de execução para o dono
S grupo SGID
s grupo SGID + permissão de execução para o grupo
T outros sticky bit
t outros sticky bit + permissão de execução para outros

São exemplos do uso das permissões especiais no Linux:

Observações

 

  Topo   |   Guia   |   Home