Artigos, Linux[Artigos] – Entendendo o permissionamento de arquivos e diretórios no Linux

[Artigos] – Entendendo o permissionamento de arquivos e diretórios no Linux

Blog Porta 80 - Tratamento de permissão no Linux

O permissionamento de arquivos e diretórios no GNU/Linux é baseado em usuários e grupos com permissões ou restrições de leitura, escrita e execução.

Todo arquivo/diretório possui um dono e um grupo. Podemos setar permissões para o dono, para o grupo e para quem não for dono nem fizer parte do grupo. Chamamos este terceiro de “outros”.

Portanto, ao setarmos permissão para arquivos/diretórios, o faremos considerando 3 partes:

  • permissão para o dono (owner)
  • permissão para o grupo (group)
  • permissão para outros (others)

As possíveis permissões são:

  • r = leitura
  • w = escrita
  • x = execução
  • – = ausência de permissão

Vejamos a permissão de um diretório fictício chamado “teste07”:

Neste caso:

  • Dono: chama-se “root” e possui permissão “rwx” (total);
  • Grupo: chama-se “impress” e possui permissão rw- (ler e escrever, mas não executar).
  • Outros: Possui permissão “—”, ou seja, não pode ler, escrever ou executar.

No exemplo anterior, o dono do diretório poderá ler o conteúdo existente, gravar novos arquivos e executar eventuais scripts. O grupo poderá ler conteúdo existente e gravar novos arquivos, mas não poderá executar scripts. Outros não possui qualquer permissão.

Observação: O amigo leitor pode ter notado que o primeiro conjunto de permissão, no caso a permissão do owner, está “drwx” e não apenas “rwx”. Esse “d” não faz parte da permissão. É um caractere que indica se tratar de um diretório. Se fosse um arquivo seria “-rwx” e se fosse um symlink seria “lrws”.

Alterando permissões com chmod:

Alteramos permissões de arquivos/diretórios com o comando chmod. A sintaxe do comando leva a permissão que será dada ao dono, ao grupo e a outros, além do arquivo alvo. Exemplo:

Neste exemplo o “arquivo” receberá permissão 755. Note que são 3 números; um para o dono (7), um para o grupo (5) e um para outros (0). Esses números representam uma permissão. As permissões são:

Permissão Decimal
0
–x 1
-w- 2
-wx 3
r– 4
r-x 5
rw- 6
rwx 7

Exemplos:

  • Quero setar permissão apenas de leitura para todos:
  • Quero setar permissão total apenas para o dono:
  • Quero setar permissão de leitura e execução para o grupo:
  • Aplicando permissão recursivamente:

    Podemos setar uma permissão recursivamente com o parâmetro “-R” de forma que todo o diretório e subdiretórios e arquivos também recebam esta permissão. Exemplo:

    Alterando owner/group com chown:

    Caso queira mudar o dono ou o grupo de um arquivo/diretório, basta utilizar o comando chown. A sintaxe do comando é esta:

    Exemplo:

    Alterando owner/group recursivamente:

    Caso queira alterar o owner e group recursivamente, basta utilizar o parâmetro “-R”.

    Conclusão

    Como vimos, o permissionamento no GNU/Linux não é um bicho de 7 cabeças. Considerando owner e group, pode-se setar permissões ou restrições de forma que esse arquivo/diretório será acessado somente pelas pessoas corretas para fazer somente aquilo que a permissão lhes permite. Compreender ao menos a teoria do permissionamento do GNU/Linux é fundamental para todos que trabalham com esta plataforma.

    Qualquer dúvida que venha surgir no amigo leitor, estou a disposição.

    Abraços!

    Categories: Artigos, Linux Tags: , , ,

    Comments

    No Comments Yet. Be the first?

    Post a comment

    O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

    This site uses Akismet to reduce spam. Learn how your comment data is processed.