chmod – Modificando Permissões De Arquivos No Linux Sem Complicação

Normalmente, o iniciante no sistema Linux considera o uso de comandos no terminal um grande desafio de adaptação. Tendo em vista facilitar esse processo, já abordei especificamente uma série de comandos (dpkg, apt, find e aptitude) e, para continuar a série, falarei sobre o comando chmod.

Embora o chmod não seja muito utilizado (em nível de rotina), ele tem notável importância em função dos problemas que ele resolve. Ou seja, situações que envolvem permissões em arquivos do sistema Linux.

Se você está pensando em trabalhar com um servidor de arquivos com samba por exemplo, vai precisar dominar o comando chmod antes.

chmod modificar permissão linux

APRENDA A DOMINAR O LINUX

Aprenda a dominar o LINUX de uma vez por todos, pegue sua cópia

  • Ferramentas para instalar softwares adicionais
  • Shell do LINUX passo a passo, e muito mais...

Sendo assim, se você procurava por um comando específico para modificar permissões de arquivo ou diretório, o presente artigo vem a ser útil! Nele, explico o chmod em mais detalhes, forneço exemplos de uso e os cuidados necessários.

Propósitos do comando chmod

Também conhecido como change mode, o comando chmod permite ao administrador de sistemas configurar ou alterar permissões sobre um arquivo (ou diretório) a partir do terminal.

Quando se gerencia uma rede de computadores, lidar com as permissões dos usuários é essencial. Isso porque os objetos do sistema Linux são associados a um usuário (ou grupo de usuários) autorizado(s) a: ler, editar, ou executá-los.

Essa aplicação de regras é chamada “permissões de arquivo” e ela é feita automaticamente, assim que o arquivo é gerado no sistema operacional.

Por isso, é comum que erros sejam apresentados ao tentar executar um documento, por exemplo, e o comando chmod tenha de ser acionado para resolver o problema. Mas, antes de editar as regras é preciso saber, de fato, como elas funcionam.

Leia também ...   Teamspeak - Como Criar Um Servidor VoIP Para Gamers No Linux

Como funcionam as permissões de arquivo?

As permissões de arquivo estão presentes no Linux — e outros baseados no Unix — com o intuito de reforçar a proteção dos dados. Nesse sentido, elas são usadas para determinar quem pode acessar o documento e o que tal acesso engloba.

Para demarcar o acesso, o sistema classifica os usuários de três maneiras: User (o proprietário do arquivo), Group (grupo de usuários com acesso permitido), e Other (qualquer usuário).

Além das classes de usuários, a restrição é complementada pelos tipos de acessos concedidos a eles, sendo eles: Read (habilita o usuário a ler o arquivo), Write (permite a edição do conteúdo), e Execute (autoriza a execução do arquivo no sistema).

Os tipos de acesso são indicados no terminal por meio de letras, onde “r” representa “Read”, “w” corresponde a “Write” e o “x”, ao “Execute”.

Sendo assim, ao executar o comando ls (ls -l) para consultar as permissões do arquivo, a pela pode ser representada similarmente a esta:

-rwxr-xr–

Sabe como decifrar a permissão acima? Primeiramente, deve-se ter em mente que o primeiro dos dez caracteres (“-”) indica que o arquivo em questão é regular. Caso se tratasse de um diretório, o símbolo seria substituído pela letra “d”.

Os demais nove caracteres são, na verdade, três conjuntos iguais.

  • rwx (significa que o dono do arquivo tem permissão para leitura, edição e execução);
  • r-x (estabelece que os usuários do grupo a que pertence o arquivo podem apenas lê-lo e executá-lo); e
  • r– (qualquer usuário tem autorização para ler o arquivo, mas não pode editá-lo e nem executá-lo).

Agora que você já tem uma noção de como as permissões funcionam, vamos retomar às funcionalidades do chmod.

Como o chmod funciona na prática?

Para acionar o comando chmod em sua distribuição Linux, é preciso se basear na seguinte sintaxe:

chmod opções permissões nome_do_arquivo

ou

chmod permissões nome_do_arquivo

Isto é, se não houver nenhuma especificação para o campo “opções” (“options”), você pode, simplesmente, digitar as permissões seguidas do nome do arquivo. Vamos a um exemplo prático.

Leia também ...   SELinux - Aprimorando a segurança do sistema Linux

Supondo que o usuário crie um arquivo chamado “arquivo1” e queira estabelecer algumas regras para os demais usuários da rede.

Assim, o proprietário do arquivo1 deve ter permissões de leitura, edição e execução deste, enquanto o restante do grupo só pode ler e editar. Os outros usuários têm acesso somente para leitura. Para isso, o chmod pode ser usado da seguinte maneira:

chmod u=rwx,g=rw,o=r arquivo1

Assim como as letras “r”, “w” e “x” representam os tipos de permissões, os caracteres “u”, “g” e “o” significam User, Group e Other, respectivamente.

Há, contudo, a possibilidade de realizar o mesmo procedimento usando o modo octal. Neste modo, as permissões são compostas de oito níveis (0 a 7) e representadas por números, os quais indicam:

  • 0 = nenhuma permissão;
  • 1 = apenas executar;
  • 2 = apenas gravar;
  • 3 = gravar e executar;
  • 4 = apenas ler;
  • 5 = ler e executar;
  • 6 = ler e gravar; e
  • 7 = ler, gravar e executar.

Logo, o mesmo comando do exemplo anterior pode ser feito da seguinte forma no modo octal:

chmod 764 arquivo1

Observe que cada algarismo corresponde a cada uma das classes de usuários (User, Group e Other).

Exemplos de uso do chmod

Tendo em vista reforçar o que expliquei nos tópicos anteriores, vejamos, abaixo, exemplos básicos de uso do comando chmod para certas permissões do nosso “arquivo1”.

Somente o User pode ter acesso (total) ao arquivo

chmod 100 arquivo1

ou

chmod -rwx------

Apenas o Group está autorizado a executar

chmod 010 arquivo1

ou

chmod ----x---

Todas as classes de usuários podem ler o arquivo

chmod 444 arquivo1

ou

chmod -r--r--r--

Acesso total para o User e leitura para os demais

chmod 744 arquivo1

ou

chmod -rwxr--r--

Apenas User e Group podem acessar o diretório do arquivo

chmod 740 arquivo1_dir

ou

chmod d—r-----

Como você pode perceber, o comando chmod possibilita ao administrador de sistemas controlar o acesso aos arquivos de diversas formas. Contudo, há uma permissão em especial que deve ser evitada — falarei sobre ela, abaixo.

Leia também ...   7zip - Como instalar e usar no Linux e ter arquivos de 30-50% mais compactos que o formato zip

Os perigos do comando chmod 777

Pela sequência binária à frente do comando chmod já se pode entender a permissão que ele aplica, não é mesmo? Sabendo-se que 7 é o nível mais alto de permissão no modo octal, logo o 777 significa concessão total de permissão a todos os usuários da rede.

O maior perigo do chmod 777 é quando o comando é aplicado a um diretório crucial do sistema, como o root (/), o que implicaria acesso livre de restrições a todos. Um desastre dessa natureza abriria as portas para ameaças — tanto internas quanto externas.

Portanto, evite utilizar os comandos:

chmod 777 (diretório)

e

chmod drwxrwxrwx

Concluímos, portanto, que o comando chmod nos permite blindar os arquivos eficientemente. Porém a má utilização dele pode trazer grave vulnerabilidade ao sistema, comprometendo a segurança de todo o ambiente de TI. Sabendo disso, você está disposto a se aprofundar no chmod?

Se sim, aproveite o momento para iniciar com LINUX, faça sua inscrição na aula gratuita do Profissionais Linux. Ali, você aprenderá, entre tantas coisas, como utilizar os comandos em nível avançado!

Sobre pedrodelfino

Trabalha a mais de 14 anos com administração de sistemas LINUX, dedicado em ensinar novos profissionais a atuar com servidores. Saiba mais aqui. "Caso queira participar de uma aula online comigo utilize o formulário Acima"