fbpx Certificação Linux: Guia Completo sobre o Comando chmod no Linux: Gerencie Permissões de Arquivos e Diretórios

Blog

Guia Completo sobre o Comando chmod no Linux: Gerencie Permissões de Arquivos e Diretórios

📅 13/08/2024 ⏱ 5 min ✍️ Uira Ribeiro
LinuxSegurançaPermissões
Guia Completo sobre o Comando chmod no Linux: Gerencie Permissões de Arquivos e Diretórios

O comando chmod é uma das ferramentas mais essenciais no Linux para administrar permissões de arquivos e diretórios. Com o chmod, você pode controlar quem pode ler, escrever ou executar arquivos no seu sistema, garantindo a segurança e a integridade dos dados. Neste guia completo, você aprenderá como utilizar o chmod, como as permissões funcionam no Linux, e exemplos práticos para aplicar em seu dia a dia.

O que é o Comando chmod?

O comando chmod (change mode) é usado para alterar as permissões de arquivos e diretórios no Linux. As permissões controlam o que diferentes tipos de usuários (dono, grupo, outros) podem fazer com um arquivo ou diretório, como ler, escrever ou executá-lo. Entender como usar o chmod é fundamental para gerenciar a segurança e o acesso no seu sistema.

Como Funcionam as Permissões no Linux?

No Linux, cada arquivo ou diretório tem três tipos de permissões para três categorias de usuários:

  1. Usuário (owner): O proprietário do arquivo.
  2. Grupo (group): Um grupo de usuários ao qual o arquivo pertence.
  3. Outros (others): Todos os outros usuários.

As permissões são representadas por três letras:

  • r: Permissão de leitura (read).
  • w: Permissão de escrita (write).
  • x: Permissão de execução (execute).

Cada uma dessas permissões pode ser atribuída ao usuário, grupo e outros.

Usando o Comando chmod

O comando chmod pode ser utilizado de duas maneiras principais: usando a notação simbólica ou a notação numérica.

1. Notação Simbólica

A notação simbólica usa letras para representar as permissões:

  • u: Usuário (owner)
  • g: Grupo
  • o: Outros
  • a: Todos (user, group, others)

Para adicionar, remover ou atribuir permissões, use os símbolos +, -, e =.

Exemplo:

chmod u+rwx,g+rx,o+r arquivo.txt

Esse comando concede todas as permissões ao usuário, permissões de leitura e execução ao grupo, e apenas leitura para outros.

2. Notação Numérica

Na notação numérica, cada permissão é representada por um número:

  • r = 4
  • w = 2
  • x = 1

As permissões são combinadas para formar um número de 3 dígitos. Cada dígito representa as permissões do usuário, grupo, e outros, respectivamente.

Exemplo:

chmod 755 script.sh

Esse comando define as permissões para que o usuário tenha leitura, escrita e execução (7 = 4+2+1), enquanto o grupo e outros têm apenas leitura e execução (5 = 4+1).

Exemplos Práticos do Uso do chmod

1. Tornando um Arquivo Executável

Se você tem um script que deseja tornar executável:

chmod +x script.sh

Esse comando adiciona a permissão de execução para todos os usuários.

2. Removendo Permissões de Escrita para Outros

Para garantir que apenas o proprietário possa modificar um arquivo:

chmod o-w arquivo.txt

Esse comando remove a permissão de escrita para outros usuários.

3. Definindo Permissões Recursivas

Se você precisa alterar as permissões de todos os arquivos e diretórios dentro de uma pasta:

chmod -R 755 /caminho/para/diretório

O -R aplica as permissões recursivamente a todos os arquivos e subdiretórios.

4. Restringindo Acesso Totalmente a Outros

Para impedir que qualquer usuário além do proprietário acesse um arquivo:

chmod 700 arquivo.conf

Esse comando garante que apenas o proprietário pode ler, escrever e executar o arquivo.

5. Permissões Padrão com umask

Se você quer que novos arquivos criados tenham permissões específicas automaticamente, você pode configurar isso com o umask:

umask 022

Esse comando faz com que novos arquivos sejam criados com permissões 755 (ou rw-r--r-- para arquivos).

Entendendo Permissões Especiais: SUID, SGID, e Sticky Bit

Além das permissões básicas, o Linux também possui permissões especiais que podem ser configuradas com chmod.

1. SUID (Set User ID)

Quando o SUID é definido, um arquivo executável roda com as permissões do proprietário ao invés do usuário que o executa:

chmod u+s arquivo

2. SGID (Set Group ID)

Quando o SGID é aplicado a um diretório, os arquivos criados nele herdam o grupo do diretório:

chmod g+s diretório

3. Sticky Bit

O Sticky Bit em um diretório impede que usuários removam arquivos que não possuem:

chmod +t /diretório/compartilhado

Conclusão

O comando chmod no Linux é uma ferramenta poderosa para gerenciar as permissões de arquivos e diretórios. Compreender e aplicar as permissões corretas é fundamental para garantir a segurança e a funcionalidade do seu sistema. Seja configurando um simples script ou gerenciando um diretório compartilhado, o chmod oferece a flexibilidade necessária para atender às suas necessidades.

Dica: Sempre revise as permissões dos arquivos e diretórios críticos em seu sistema para evitar acessos não autorizados e manter a integridade dos dados.

Explore mais sobre como alterar proprietários de arquivos com o comando chown e como configurar permissões padrão para novos arquivos usando umask em nosso guia completo. Se você precisar de permissões avançadas, leia nosso post sobre Access-Control-Lists (ACLs).

Uira Ribeiro

Prof. Uirá Ribeiro

Chair do Board do Linux Professional Institute

Especialista Linux com mais de 20 anos de experiência.
Autor de 5 livros e mentor de mais de 14.000 alunos certificados.
20 certificações de alto nível, incluindo LPIC-3, CKA, RHCE e AWS Solutions Architect.

WhatsApp