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 leituraw
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/