Comando chmod no Linux (permissões de arquivo) [Guia Básico]

No Linux, o acesso aos arquivos é gerenciado por meio de permissões, atributos e propriedade do arquivo. Entre esses comandos, temos o chmod que em português, significa alterar modo.

Para quem usa esse sistema operacional, é muito importante conhecer mais sobre ele, suas sintaxes e as principais configurações de permissões dele. Por isso, nesse artigo, iremos explorar esse assunto. Boa leitura!

Como funcionam as permissões de arquivo no Linux?

permissoes-arquivo-linux_ Comando chmod no Linux (permissões de arquivo) [Guia Básico]

Antes de explicar o próprio conceito de chmod, é importante entender como funcionam as permissões de arquivo no Linux. Existe um modelo básico de permissões que precisa ser compreendido.

Nesse sistema operacional, cada arquivo se relaciona com um proprietário e um grupo que faz com esse receba direitos de permissão de acesso para três diferentes classes. São elas:

  • O proprietário do arquivo;
  • Os membros do grupo;
  • Todos os outros.

Além disso, as permissões de arquivo podem ser aplicadas de forma diferente para cada classe, uma vez que existe a permissão de leitura, a permissão de gravação e a permissão de execução.

O que é o comando chmod?

Considerando esses pontos apresentados, o chmod significa  o comando e a chamada de sistema que possibilita alterar permissões de acesso de objetos do sistema, isto é, arquivos e diretórios, bem como sinalizações de modo especial.

O chmod permite que você altere manualmente as configurações de permissão de um arquivo. O umask é responsável pelo filtro da requisição. Esse comando pode aceitar um ou mais arquivos, bem como diretórios, separados por espaço como argumentos.

Sintaxe do comando

Para entender bem o chmod, é preciso compreender também a sintaxe desse comando. Ela pode ter uma representação simbólica, por meio de letras, e uma representação octal, que se dá por meio de números.

Isso significa um conjunto especial de argumentos, que corresponde à propriedade e às permissões.

Representação Simbólica

A sintaxe do comando chmod ao usar o modo simbólico tem o seguinte formato quanto às ações que serão definidas: 

PermissãoSignificadoRepresentação
LeituraPermissão para ler e copiar diretórioR
EscreverPermissão para escrever,  editar, excluir, adicionar novos arquivos ao diretórioW
ExecutarPermissão para executar o binárioX
Sem permissãoNão há permissão para qualquer atividade

Para cada proprietário, essas permissões podem ser combinadas. Do ponto de vista simbólico, as classes de proprietários  podem ser esquematizados da seguinte forma: 

ProprietáriosRepresentação simbólicaDescrição
UsuáriosUO proprietário principal do objeto de arquivo / diretório
GruposGUm usuário pode fazer parte de um ou mais grupos
OutrosOOutros usuários que também não fazem parte do grupo
Todos os usuáriosA ou UGOTodos os usuários do arquivo

O diferencial da representação simbólica está na situação em que você deseja apenas adicionar ou remover a permissão para uma ação específica para uma classe específica.

Os sinalizadores de cada operação vão definir se as permissões devem ser removidas, adicionadas ou definidas. Simbolicamente eles se dividem da seguinte forma:

  • –  vai remover as permissões especificadas;
  • + vai adicionar as permissões especificadas;
  • = vai alterar as permissões atuais para as permissões especificadas. 

Se nenhuma permissão for especificada após o símbolo =, todas as permissões da classe de usuário especificada serão removidas.

As permissões (perms…) pode ser definida de forma explícita ao usar zero ou um ou mais dos seguintes letras: r, w, x, X, s, e t. 

Ao definir permissões para mais de uma classe de usuário ( [,…]), use vírgulas sem os espaços para separar os modos simbólicos.

Representação Octal

Um octal é um número escrito sob a base 8. Isso significa que ele usa 8 símbolos diferentes para ser representado, variando do 0 ao 7. A representação octal, por sua vez, funciona da seguinte forma:

NÚMEROSIGNIFICADO
0Nenhuma permissão de acesso
1Permissão de execução
2Permissão de gravação
Permissão de gravação e execução
Permissão de leitura
5Permissão de leitura e execução
6Permissão de leitura e gravação
7Permissão de leitura, gravação e execução

Principais configurações de permissões Chmod

configuracoes-permissoes-chmod Comando chmod no Linux (permissões de arquivo) [Guia Básico]

Entre as principais configurações de permissões do chmod estão a 644, a 755, a 555 e a 777. Iremos falar sobre cada uma delas.

Chmod 644

O chmod 644 permite que o proprietário possa acessar e modificar o arquivo como quiser. No entanto, os outros usuários vão poder apenas acessar sem a capacidade de modificar. Junto a isso, ninguém pode executar o arquivo, o que vale até mesmo para o proprietário. 

Esse comando funciona para arquivos que são acessíveis publicamente, uma vez que equilibram a flexibilidade com segurança.

Chmod 755

O segundo comando, o chmod 755, é bastante parecido com o primeiro. Ou seja, ele vai permitir que o proprietário acesse e modifique como deseja o arquivo.

Ao mesmo tempo, os usuários vão apenas visualizar sem poder mudar nada, como funciona no primeiro. No entanto, a diferença está nas execuções. Para se chmod, todos também têm permissões para realizá-la.

Esse caso serve para situações em que se tem os diretórios acessíveis publicamente, pois a permissão de execução é necessária para mudar para um diretório.

Chmod 555

O chmod 555 faz permite com que o arquivo não possa ser modificado por ninguém, com exceção do superusuário do sistema.

Trata-se de uma situação menos comum em relação ao chmod 644. No entanto, é importante saber sobre ele pois a configuração de somente leitura evita alterações acidentais bem como a adulteração.

Chmod 777

O último chmod é o 777. Ele é capaz de permitir que qualquer pessoa faça o que quiser com o arquivo. Logo, qualquer pessoa pode acessar o arquivo, modificá-lo como quiser e executá-lo no sistema

Ou seja, trata-se de um comando com um elevado risco de segurança, sobretudo para quem os servidores da web. Se alguém não indicado tiver acesso, pode comprometer totalmente o sistema.

Aprofunde seus conhecimentos em Linux com o nosso curso online! Matricule-se agora!

Conclusão

Nesse artigo você pode ter um panorama geral do comando chmod no linux e quais são suas aplicações. O objetivo dele é sempre alterar as permissões de arquivos!