LPI Prova 101! Hora da revisão! Parte 3!

Emanuel Negromonte
7 minutos de leitura

Todo sistema operacional em especial os que são voltados para sistemas corporativos, possui uma divisão de privilégios para execução e gravação de dados, que podem ser somente a alimentação de informações em
determino sistema ou aplicativo/programa. Esse controle é feito através de uma classificação ou grupo.

Dentro do Linux o usuário master é chamado root e é o responsável por gerenciar essas divisões. O root tem acesso total à todas as pastas do sistemas e configurações. Além disso existem os usuários comuns que são os usuários adicionados, os nossos logins por exemplo, e também existem os usuários de sistema que são por exemplo o, bin, shutdown, named e tantos outros.

Estes usuários não tem privilégios adicionais comparado com os usuários adicionado no sistema. Em suma, eles são chamados usuários de sistema porque possuem um código de identificação em uma faixa restrita, e são exclusivos deles, são em resumo usuários comuns, sem qualquer privilégios, apenas com um código de identificação em uma faixa pré-definida.

Já os usuários cadastrados no sistema, são chamados de apenas usuários. Não possui nenhum privilégio adicional ou uid’s diferenciados. Os direitos administrativos são limitados somente à sua pasta pessoal, e
ele pode apenas ler ou alterar o que foi permitido-lhe, e como já falamos tudo depende do que é liberado ou não pelo usuário root.

Conhecendo os tipos de permissão e arquivos

Você já deve ter observado que cada arquivo ou diretório tem suas permissões peculiares, e em suas propriedades estão a que usuário e grupo pertence o arquivo. As permissões variam desde que o pode ser lido ou não e também o que pode ficar oculto para determinado usuário que esteja em um grupo específico.

Essas informações do que o usuário pode ou não, são armazenadas em códigos e são consultados e convertidos para nomes todas às vezes que realizamos uma consulta.

Conhecendo Tipos de arquivos

Devemos prestar muita atenção na primeira coluna, vamos conferir uma tabela para entender melhor:

TipoDetalhamento
Arquivo comum
bDispositivo de bloco
cDispositivo de caracter serial
dDiretório
lLink simbólico
sSocket de comunicação entre processos
pPipe de comunicação entre processos

Conhecendo as permissões

Como o nome já diz tudo, as permissões liberam ou não o acesso a terminado diretório, ou arquivo. No Linux, são utilizados três níveis de permissões.

  1. Grupo proprietário do arquivo – Geralmente é o grupo do usuário que criou, e caso seja necessário alterar o proprietário, somente o root pode fazer isso.
  2. Usuário proprietário do arquivo
    – Geralmente é o usuário que criou, que também é chamado de owner.
    Também se for preciso, somente o root pode alterar o usuário
    proprietário.
  3. Outros – São todos os usuários que não estão no grupo proprietário do arquivo ou não é o usuário que criou o arquivo ou diretório.

As permissões que certamente você viu no print acima, são interpretadas em três conjuntos, “r”, “w” e “x”, ou seja, r de read que quer dizer ler, w de writer que quer dizer escreva e o x que quer dizer executar.

Vamos compreender as saídas do terminal:

  1. sempreupdate é um arquivo a primeira posição da listagem é um “-“
  2. o arquivo pertecente ao usuário emanuel
  3. o usuário emanuel que é o proprietário do arquivo pode ler e alterar o arquivo
  4. o grupo do proprietário do arquivo apenas pode ler o conteúdo do arquivo
  5. e os usuários que classificamos como outros, podem ler o conteúdo do arquivo

Aprendendo a alterar permissões

Quando criamos um arquivo na maioria das vezes ele já vem com as permissões pré-definidas, mas o dono do arquivo pode alterar essas permissões ou o usuário root. Existem diversas maneiras de alterar essas permissões, porém vamos citar três meios para isso, que são geralmente os mais utilizados.

A primeira é via método diferencial, onde as alterações utilizam de um lógica, quando eu quero remover algum tipo de permissão utilizo o – e quando eu quer dar permissão eu utilizado +, sempre seguido por “r”, “w”
ou “x”. A segunda forma de mudar as permissões é atribuindo diretamente as permissões, também utilizando as letras que citamos.

A terceira é pelo método octal onde essas permissões são convertidas de letras para números binários. Todos os três meios vão sempre utilizar o comando chmod que indicam as permissões e o que deve ser alterado, se
você já executou algum shell script já deve ter utilizado muito.

Vamos para alguns exemplos:

Vamos utilizar o método diferencial, onde vamos alterar as permissões para que o resultado seja rw-rw-rw-

Agora, vamos mudar novamente, utilizando a atribuição direta, vamos mudar para -r-xr-x–x:

Agora, vamos para o método octal, geralmente mais utilizado em servidores, como por exemplo no Cpanel dos hosts. Este método é um pouco mais complexo, onde cada letra tem um valor, x corresponde ao valor 1, w
corresponde ao valor 2 e r corresponde ao valor 4, para saber a permissão que vamos definir é preciso somar os valores, ao invés de 9 tracinhos para preencher, no modo octal será somente 3.

Ex.: Se eu quero que a permissão seja para acesso total, leitura, escrita e execução, ou seja, r w x então temos os valores 4 2 1 então a soma deles será 7.

Ex 2: Mas eu só quero atribuir a leitura e execução, então teremos r e x que correspondem respectivamente à 4 e 1 então vamos ter na soma 5.

Então vamos montar uma espécie de equação númerica:

rwx r-x r-x (letras)
  421 4-1 4-1 (binários)
           7   5   5 (resultado da soma)

Bom, nossa aula de hoje foram essas permissões simples, na aula 4 vamos ver as permissões especiais.

Share This Article
Follow:
Fundador do SempreUPdate. Acredita no poder do trabalho colaborativo, no GNU/Linux, Software livre e código aberto. É possível tornar tudo mais simples quando trabalhamos juntos, e tudo mais difícil quando nos separamos.