Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Para Saber Mais: Notação Simbólica para Permissões

Esse artigo, depois de fazer algumas explicações, diz o seguinte:

  • Operadores
    • +: adiciona uma permissão.
    • -: remove uma permissão.
    • =: define a permissão exatamente como especificada, removendo qualquer permissão que não esteja incluída.

Ele diz, no item =, remove qualquer permissão que não esteja incluída.

E mais abaixo apresenta um caso de uso, vejamos:

chmod o=x arquivo.txt

Daí, explica que:

  • Definimos a permissão de execução apenas para outros (o) e removemos qualquer outra permissão que o proprietário (ou seja, o u) e o grupo (ou seja, o g) possam ter."

Ou seja, até onde entendi, que somente o o tem permissão de execução. E que o u e o g não possuem qualquer outra permissão. Por exemplo, não têm as permissões r, w e x.

Seguindo com esse meu entendimento, vem essa explicação do artigo:

  • Caso desejarmos, é possível combinar os tipos de usuários com diferentes permissões com essa notação, utilizando como separador a vírgula:
    chmod u=rwx,g=rx,o=r arquivo.txt
    

Não entendi por qual motivo alguém diria ao u que somente ele tem permissão de r, w e x, e em seguida dizer para o g que somente ele tem permissão de r e x, daí, na mesma instrução, dizer ao o que somente ele tem permissão de r.

Pelo que entendi, o comando = restringe uma determinada permissão a somente aquele tipo de usuário e exclui essa determinada permissão, e as outras, dos demais usuários.

É isso mesmo?

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
2 respostas

Olá amigo.
Tem coisas que é bom nem entender...
Apenas trabalhando no dia a dia vai saber o porque de algumas coisas.
O importante é saber o basico de como as permissões funcionam.
E em um primeiro momento vai utilizar o + e - e a combinação de numeros no chmod.
Bons estudos.
E cuidado: "A curiosidade matou o gato..."
Brincadeira a parte é assim que se aprende...buscando as respostas não tão obvias.
Bons estudos.
E ...
Na verdade, o = não remove permissões dos “outros tipos de usuários”.
Ele só redefine as permissões do alvo especificado (u, g ou o), substituindo o que aquele alvo tinha antes.
Explicando de forma resumida e lógica:
= zera e define exatamente o que aquele alvo vai ter.
Ou seja:
chmod o=x arquivo.txt os outros (o) ficam apenas com x.
O u e o g não são alterados, continuam com o que tinham antes.
chmod u=rwx,g=rx,o=r arquivo.txt

  • u passa a ter só rwx.
  • g passa a ter só rx.
  • o passa a ter só r.
    A lógica:
    O = não “exclui das outras categorias”, ele só redefine a categoria que você apontou.
    Mas para entender mesmo é só fazendo testes nos arquivos e verificando como ficam as permissões.
solução!

Ok, vou fazer mais teste para verificar essa permissões. Mas o que esse artigo diz em

    "... e removemos qualquer outra permissão que o proprietário e o grupo possam ter."

é que remove as permissões dos outros usuários. No entanto está tudo bem, vou deixar como está e seguir para a próxima.

Grato pelo feedback, Ronaldo.