Skip to content

Instantly share code, notes, and snippets.

@kimjoaoun
Last active January 14, 2022 14:39
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kimjoaoun/826d54649d46c5971ef43e9ddff2cd22 to your computer and use it in GitHub Desktop.
Save kimjoaoun/826d54649d46c5971ef43e9ddff2cd22 to your computer and use it in GitHub Desktop.
Entendendo o sistema de permissoes do Linux

Em Linux todos os arquivos carregam um conjunto de permissões, elas que dizem para o sistema operacional que tipo de operação pode ser executada sobre um arquivo e quem pode executar essas operações. Todo arquivo tem instruções acerca de 3 grupos:

  • owner - Permissões que o dono do arquivo possui

  • group - Permissões que os usuários que fazem parte de determinado grupo possuem.

  • all users - Permissões que todos os usuários cadastrados naquele computador possuem.

owner é aquele que é dono do arquivo. Geralmente - porém não sempre, lembre-se que em Linux aplicações podem operar como um usuário -, este é o indivíduo que criou o arquivo.

group é o grupo ao qual um usuário faz parte. Em Linux, usuários podem ser atribuídos a um grupo. Isso geralmente facilita na hora de administrar um sistema. Por exemplo, se tivermos uma EC2 da empresa toda em que cada um de nós possui um usuário diferente, faz sentido o administrador dividir a empresa em grupos. Um grupo teria todos os membros do time de dados, outro grupo todos os desenvolvedores. Os membros daquele grupo herdam as permissões que ele possui.

all users são as permissões globais.

Mas o que são essas permissões?

Muita coisa, mas no nosso contexto elas são:

  • r - Escrita -> Aquele que possui essa permissão pode escrever em um arquivo/diretório.
  • w - Leitura -> Aquele que possui essa permissão pode ler um arquivo/diretório.
  • x - Execução -> Aquele que possui essa permissão pode ler um arquivo/diretório.

Agora que sabe que todo arquivo carrega um conjunto de permissões rwx para cada um dos 3 grupos, vamos olhar como o Linux nos apresenta isso. Ao digitar ls -la .Rprofile em determinado diretório, o terminal me retornou um texto que contém

$ ls -la .Rprofile 
-rw-r--r-- 1 kimjoaoun kimjoaoun 0 Jul 27 15:24 .Rprofile

d/- <- diz se é um diretório ou arquivo.

123 <- os 3 primeiros campos dizem as permissões do dono

456 <- campos 4 a 6 dizem as permissões dos grupos

789 <- campos 7 a 9 dizem as permissões globais.

-rw-r--r--:

  • O primeiro hífen significa que temos um arquivo. Se fosse um diretório, teríamos um d no lugar.
  • r significa que o owner possui permissões de leitura
  • w significa que o owner possui permissões de escrita
  • O segundo hífen diz que o owner não possui permissões para executar aquele arquivo.
  • r significa que todos os usuários que fazem parte de qualquer grupo possuem acesso de leitura
  • Terceiro - diz que usuários que fazem parte do grupo não irão herdar daquele grupo acesso de escrita, pois não foi atribuído para todos os grupos escrever.
  • Quarto - mesmo caso acima, porém para execução.
  • r todos os usuários podem executar esse arquivo.
  • Quinto - não foi atribuída permissão global de escrita.
  • Sexto - não foi atribuída permissão global de execução.

Referencia: https://www.linuxfoundation.org/blog/classic-sysadmin-understanding-linux-file-permissions/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment