Lnx p3rmiss03s

Quando tratamos de sistemas operacionais, permissões sempre são um pré requisito de segurança, dessa forma podemos conceder ou remover acesso a diretórios e arquivos.

Falando de permissão, temos 3 níveis, leitura, escrita e execução para tipos diferentes, permissões do owner, grupo e permissões do próprio arquivo.

Código permissãoDescrição permissão
0Should not pass!
1Execução
2Escrita
4Leitura
3 => 1+2Execução + escrita
5 => 4+1Execução + leitura
6=> 4+2Leitura + escrita
7=> 4+2+1Permissão full
Tabela de permissões númerica

Também existe a variação de permissões por nome, são um pouco mais simples mas a versão numérica simplifica o comando chmod.

Crie 3 arquivos utilizando o touch <arquivo1> …, para verificar as permissões dos arquivos utilize o comando ls -l, que resultará em algo como:

Criando e listando as permissões de um arquivo

Existem 4 níveis de informação na primeira coluna:

DiretórioPermissões do usuárioPermissões do grupoPermissões dos outros usuários
– ou drw-r–r–
Nĩveis de informação das permissões dos arquivos.

Resumindo o usuário lucena pode escrever e ler, usuários do grupo lucena podem ler assim como o restante dos usuários do sistema. Se fosse um arquivo sh, como ficaria a permissão?

A permissão de execução impediu a execução do arquivo

As variações do chmod podem variar em setar permissões para um usuário único ou todas as permissões de uma única vez.

Utilizando chmod +<permissao> e chmod <perm. usuário><perm. grupo><perm.outros>

Grupos

Talvez a forma mais eficiente de controlar e organizar permissões seja os grupos, principalmente em um ambiente compartilhado onde mais de um usuário tem acesso aos recursos da máquina.

Na maioria das distribuições a listagem de grupos existentes podem ser vistas através do comando cat /etc/group:

Listagem de grupos em uma distro Linux

Todo usuário criado tem seu próprio grupo, vamos criar 2 novos usuários e 2 novos grupos.

Criando usuários e verificando os grupos criados
Mudando o dono dos arquivos

Para adicionar um grupo ao sistema utilize o comando groupadd e caso deseje excluir utilize o groupdel. A seguir um exemplo de arquivos com owners e grupos diferentes.

O usuário lucena não tem mais acesso de escrita ao arquivo file2.txt
Syntaxe diferente par chown <usuario>:<grupo> <arquivo>

É possível adicionar um usuário a um grupo com o comando usermod -a -G <grupo> <usuario>.

Adicionando um usuário à um grupo e dando permissão de escrita ao grupo

O básico de permissões é exatamente assim, simples mas por ser algo que não executamos com certa frequência pode ser necessário uma referência como consulta.

Existem diversos artigos mais completos que utilizam a tradução do man desses comandos, espero que gostem de um formato mais simples. Até a próxima…

Deixe um comentário

O seu endereço de email não será publicado.