CHMOD Porque Read vale 4 e não 3 ? Será que é pra não ficar 666 ?

1. CHMOD Porque Read vale 4 e não 3 ? Será que é pra não ficar 666 ?

Luis Felipe Rodrigues
luisfeliperm

(usa Debian)

Enviado em 25/11/2018 - 02:53h

Porque nas permissões do linux o read vale 4 ? Será que é para que a permissão total que é 777 não ficar 666 e causar polemica, pq na época em que foi criado esse negocio de religião era muito influente


  


2. Re: CHMOD Porque Read vale 4 e não 3 ? Será que é pra não ficar 666 ?

Ricardo Groetaers
ricardogroetaers

(usa Linux Mint)

Enviado em 25/11/2018 - 04:18h

Em ordem alfabética:
execução
gravação
leitura


Permissões em modo octal:
0 = nenhuma permissão
1 = execução
2 = gravação
3 = gravação (2) + execução (1) = 2 + 1 = 3
4 = leitura
5 = leitura (4) + execução (1) = 4 + 1 = 5
6 = leitura (4) + gravação (2) = 4 + 2 = 6
7 = leitura (4) + gravação (2) + execução (1) = 4 + 2 + 1 = 7

Se leitura fosse = 3 -> leitura (3) = gravação (2) + execução (1) -> ABSURDO!
Se a coisa não tiver uma certa lógica vai ficar difícil aprender e memorizar.


3. Re: CHMOD Porque Read vale 4 e não 3 ? Será que é pra não ficar 666 ?

Paulo Dias
di4s

(usa XUbuntu)

Enviado em 25/11/2018 - 23:10h

Oi.

Não se preocupe, a religião não teve influência neste caso. :)

Veja, existem 3 tipos de usuários quando se trata de acesso a arquivos e pastas: usuário dono do arquivo, usuário do mesmo grupo do arquivo e os demais usuários...

Para cada um desses tipos existem 3 permissões: Leitura, escrita e execução.

Essas permissões são representadas com binários... Onde o bit ligado( 1 ) indica a existência da permissão e o bit desligado indica a ausência da permissão.

Assim, um arquivo pode ter a seguinte permissão:
111 110 000

Sendo que os 3 primeiros bits são as permissões do dono, os próximos 3, do grupo e os últimos 3, dos demais usuários.

Dessa forma, temos:

Dono: leitura, escrita e execução ( em inglês read, write and execution )
Grupo: Apenas leitura e escrita ( o bit da execução está desligado )
Demais usuários: sem permissão nenhuma ( todos os bits estão desligados )

O comando chmod poderia ser usado para especificar essa permissão da seguinte maneira :


chmod 111110000 arquivo


Mas seria trabalhoso... Visando facilitar e usar apenas um dígito para cada grupo de permissão, os binários são convertidos para octal. Ficando da forma que você costuma utilizar:


chmod 760 arquivo


111 = 7 em octal
110 = 6
000 = 0

Por isso que a permissão de apenas leitura ( 100 ) é igual a 4 e não igual a 3.

000 = 0
001 = 1
010 = 2
011 = 3
100 = 4
101 = 5
110 = 6
111 = 7

Além dessas, existem as permissões especiais: SUID, SGID e STICK.

Você pode ver mais sobre elas aqui https://prmjuniorblog.blogspot.com.br/2013/10/permissoes-especiais-suid-sgid-e-sticky.html




4. Dúvida resolvida

Luis Felipe Rodrigues
luisfeliperm

(usa Debian)

Enviado em 28/11/2018 - 01:53h

Obrigado pela resposta, tirou minha dúvida






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts