Você está na página 1de 22

Linux para Profissionais de TI

AULA 4
PERMISSÕES
Linux para Profissionais de TI

Permissões

Permissões são os controles de acesso a arquivos e


diretórios do sistema, são simples mas muito eficazes
quando bem compreendidas. Temos basicamente 3
permissões, que são:

r - leitura/visualização
w - gravação/alteração
x - execução/acesso
Linux para Profissionais de TI

Permissões

Permissões são tratadas em grupos de 3 e sempre na ordem


rwx (leitura/escrita/execução). São divididas em 3 grupos de
acordo com a seguinte ordem:

rwx - permissões do dono


rwx - permissões do grupo
rwx - permissões de outros
Linux para Profissionais de TI

Permissões

As 3 primeiras permissões, estando habilitadas ou não, são


do dono (user) do arquivo ou diretório

As 3 permissões seguintes, estando habilitadas ou não são,


do grupo (group) do arquivo ou diretório

As 3 últimas permissões, estando habilitadas ou não são, dos


outros (others), qualquer um que não seja o dono ou que
pertença ao grupo do arquivo ou diretório
Linux para Profissionais de TI

Permissão de Leitura (r)

Em arquivos ou diretórios permite que seu conteúdo seja


visualizado.
Essa permissão em arquivos:
* Permite ler todo o conteúdo do arquivo
Essa permissão em diretórios:
* Permite ver quais arquivos/diretórios existem dentro de
um diretório

drwxr-xr-x 30 vagner users 4096 abr 28 13:08 Documentos


-rwxr-xr-x 1 vagner users 489 dez 4 00:36 videodata.sh
Linux para Profissionais de TI

Permissão de Escrita (w)

Em arquivos ou diretórios permite que seu conteúdo seja


alterado.
Essa permissão em arquivos:
* Permite mudar todo o conteúdo ou apagar o conteúdo
do arquivo mas não permite apagar o arquivo
Essa permissão em diretórios:
* Permite criar ou apagar arquivos/diretórios que estão no
diretório

drwxr-xr-x 30 vagner users 4096 abr 28 13:08 Documentos


-rwxr-xr-x 1 vagner users 489 dez 4 00:36 videodata.sh
Linux para Profissionais de TI

Permissão de Execução (x)

Em arquivos ou diretórios permite que seu conteúdo seja


executado.
Essa permissão em arquivos:
* Permite executar o arquivo (caso ele tenha estrutura
para isso)
Essa permissão em diretórios:
* Permite entrar no diretório

drwxr-xr-x 30 vagner users 4096 abr 28 13:08 Documentos


-rwxr-xr-x 1 vagner users 489 dez 4 00:36 videodata.sh
Linux para Profissionais de TI

Permissões Octais

As permissões são gravadas no inodo que indexa o arquivo.


São bits que ficam ligados (1) ou desligados (0), de acordo
com a permissão correspondente ao campo estar ou não
habilitada.
Sendo assim elas são: rwxrwxrwx ou ---------
Ficam assim em binário: 111111111 ou 000000000

Trabalhando em grupos de 3 permissões para cada campo


(user, group e others) temos a seguinte estrutura:
111 111 111 ou 000 000 000
Linux para Profissionais de TI

Permissões Octais

Como cada grupo de 3 bits (0 ou 1) pode ser convertido para


um número na base 8 (octal) também podemos representar
as permissões de um campo em octal.
Por exemplo se tivermos a seguinte sequencia de bits
configurando as permissões de um arquivo: 110100100
O arquivo terá a seguinte permissão em octal:
*110 100 100 = 6 4 4
Que corresponde exatamente a: rw-r--r--
Linux para Profissionais de TI

Permissões Octais

Como calcular essa permissão em octal:

110 100 100 = 6 4 4

Cada 3 bits representam um número, dessa forma:

000 = 0 100 = 4
001 = 1 101 = 5
010 = 2 110 = 6
011 = 3 111 = 7
Linux para Profissionais de TI

Permissões Octais

Cada número representa as 3 permissões do campo de uma


só vez:

0 = --- 4 = r--
1 = --x 5 = r-x
2 = -w- 6 = rw-
3 = -wx 7 = rwx
Linux para Profissionais de TI

Permissões Octais

O cuidado ao usar as permissões em modo octal é que


sempre teremos que usar 3 números, mesmo que não
queiramos mexer em um campo devemos mencioná-lo ao
usar o comando chmod:

drwx------ 9 vagner users 20480 mai 15 16:56 Downloads

Digamos que eu queira que o grupo users tenha permissão


para acessar o diretório de Downloads mas não quero
mudar a permissão de dono nem de outros.
Linux para Profissionais de TI

Permissões Octais

drwx------ 9 vagner users 20480 mai 15 16:56 Downloads

Em modo literal eu faço apenas:


chmod g+rx Downloads
O grupo ganha permissão de leitura (r) e acesso(x).
Em modo octal devo lembrar quais permissões não quero
mexer e mantê-las:
chmod 750 Downloads
O dono do diretório fica com rwx ( a permissão que ele já
tinha), o grupo fica com r-x (ganha leitura e execução), os
outros ficam com --- ( a permissão que ele já tinha)
Linux para Profissionais de TI

Permissões Especiais

As permissões especiais são importantes pois


complementam as permissões básicas (rwx), elas sempre
estão relacionadas à permissão de execução portanto
quando habilitadas ocupam o mesmo campo da permissão
de execução (x). Se a permissão (x) não estiver ligada a
permissão especial não irá funcionar.

São permissões relacionadas a usuário, grupo e outros e tem


efeitos diferentes em arquivos ou diretórios.
Linux para Profissionais de TI

Permissões Especiais

A permissão Set UID Bit ou SUID é uma permissão que não


tem efeito em diretórios, mas em arquivos ela mascára a
UID do usuário que tenta executar um arquivo, tratando ele
como se fosse o DONO do arquivo.
Ex: Se um arquivo de um programa ou script que pertence
ao root estiver com esse bit ligado, qualquer um que tentar
executar esse programa será tratado naquele momento
como se fosse o root.

Hoje em dia poucos executáveis possuem esse bit por


questões de segurança.
Linux para Profissionais de TI

Permissões Especiais

Binários como o passwd (/usr/bin/passwd ou /bin/passwd)


escrevem em um arquivo que pertence ao root
(/etc/shadow). Para que o usuário possa trocar a própria
senha o binário do passwd tem o bit SUID ligado:

-rwsr-xr-x 1 root root 68208 abr 16 09:36 /usr/bin/passwd

Caso a permissão de execução não estiver habilitada


aparecerá um S (maiúsculo) no local do s (minúsculo)
Linux para Profissionais de TI

Permissões Especiais

A permissão Set GID Bit ou SGID é uma permissão que a


mascára a GID do usuário que tenta executar um arquivo,
tratando ele como se fosse do mesmo GRUPO do arquivo.
Opção não muito usada.

Em diretórios faz com que qualquer coisa criada no diretório


pertença ao mesmo grupo do diretório e não ao grupo do
usuário que está criando o arquivo/diretório.
Linux para Profissionais de TI

Permissões Especiais

Muito usado em diretórios compartilhados por grupos ou


setores, assim quando alguém criar algo no diretório o
grupo que tem posse do diretório tomará posse do
conteúdo criado, permitindo assim outros membros do
grupo a ter acesso ao arquivo, sem precisar que o dono
mude permissões de outros ou coloque vários usuários em
seu grupo primário.
drwxrws--- 5 root users 4096 jun 19 2019 Publico

Caso a permissão de execução não estiver habilitada


aparecerá um S (maiúsculo) no local do s (minúsculo)
Linux para Profissionais de TI

Permissões Especiais

A permissão Stick Bit é uma permissão que em arquivos faz


com que quando executado uma cópia do arquivo seja salva
em swap. Em diretórios essa permissão faz com que o que
for criado dentro do diretório só possa ser apagado por
quem criou o arquivo/diretório, mesmo que a permissão do
diretório seja 777.
O diretório /tmp usa essa permissão.

drwxrwxrwt 5 root root 1946 mai 18 2019 tmp


Caso a permissão de execução não estiver habilitada
aparecerá um T (maiúsculo) no local do t (minúsculo)
Linux para Profissionais de TI

Permissões Especiais

Para utilizar as permissões especiais precisamos informar


em qual campo queremos habilitá-las. Para habilitar o SUID
para um arquivo:
chmod u+s arquivo

Para habilitar o SGID para um diretório:


chmod g+s diretorio

Para habilitar o StickBit para um diretório:


chmod o+t diretorio
Linux para Profissionais de TI

Permissões Especiais

Para utilizar as permissões especiais em modo octal


precisamos saber que elas sempre vem desabilitadas por
padrão e seus bits ficam antes das permissões normais,
ficam assim:
111 111 111 111 ou 000 000 000 000
Elas são os 3 primeiros bits, no modo octal fica assim:

0 - Sem permissões especiais 4 - SUID Bit


1 - Stick Bit 5 - SUID Bit + Stick Bit
2 - SGID Bit 6 - SUID Bit + SGID Bit
3 - SGID Bit + Stick Bit 7 - SUID + SGID + Stick
Linux para Profissionais de TI

Permissões Especiais

Para utilizar as permissões especiais em modo octal


precisamos lembrar quais permissões normais o arquivo ou
diretório tem para poder mantê-la:
Para habilitar a permissão SUID em executável em modo
octal:
chmod 4755 arquivo

Para habilitar a permissão SGID em um diretório:


chmod 2775 diretorio

Você também pode gostar