Guia Completo sobre chmod e chown no Linux

Gerenciar permissões de arquivos é uma habilidade essencial para qualquer usuário ou administrador de sistemas Linux. Neste guia, vamos explorar detalhadamente os comandos chmod e chown, explicando também como funcionam as permissões representadas por valores como 777, 755 e o significado do atributo +x.


Introdução às Permissões no Linux

No Linux, cada arquivo ou diretório tem permissões que definem quem pode:

  • Ler (r): Ver o conteúdo do arquivo ou listar o diretório.
  • Escrever (w): Modificar o arquivo ou criar/deletar arquivos no diretório.
  • Executar (x): Rodar o arquivo como um programa ou acessar um diretório.

Essas permissões são atribuídas a três categorias:

  1. Dono (Owner): O usuário que possui o arquivo.
  2. Grupo (Group): Um grupo de usuários.
  3. Outros (Others): Todos os outros usuários.

As permissões são representadas por uma combinação de 10 caracteres, como:

drwxr-xr--
  • O primeiro caractere indica o tipo (d para diretório, – para arquivo).
  • Os próximos três são para o dono (rwx).
  • Os seguintes três são para o grupo (r-x).
  • Os últimos três são para outros (r–).

O que são os valores 777, 755, etc.?

Esses valores são a representação octal das permissões:

  • 7: r + w + x (leitura, escrita e execução)
  • 6: r + w (leitura e escrita)
  • 5: r + x (leitura e execução)
  • 4: r (leitura apenas)
  • 0: Nenhuma permissão

Exemplos:

  • 777: Permissão total para dono, grupo e outros.
  • 755: Permissão total para o dono, leitura e execução para grupo e outros.
  • 644: Leitura e escrita para o dono, leitura para grupo e outros.

Usando chmod para Alterar Permissões

O comando chmod altera as permissões de arquivos e diretórios.

Sintaxe:

chmod [opções] permissões arquivo/diretório

Exemplos:

  1. Tornar um arquivo executável:
chmod +x script.sh
  1. Definir permissões 755:
chmod 755 meu_programa
  1. Remover permissão de escrita para outros:
chmod o-w arquivo.txt

Usando chown para Alterar Dono e Grupo

O comando chown altera o dono e/ou grupo de um arquivo ou diretório.

Sintaxe:

chown [opções] usuario:grupo arquivo/diretório

Exemplos:

  1. Alterar apenas o dono:
chown usuario arquivo.txt
  1. Alterar dono e grupo:
chown usuario:grupo arquivo.txt
  1. Alterar de forma recursiva (para arquivos e subdiretórios):
chown -R usuario:grupo pasta

Permissões Especiais

SUID (Set User ID)

Permite que um programa rode com as permissões do dono do arquivo:

chmod u+s arquivo

SGID (Set Group ID)

Permite que arquivos criados em um diretório herdem o grupo do diretório:

chmod g+s diretorio

Sticky Bit

Previne que usuários excluam arquivos de outros em um diretório compartilhado:

chmod +t diretorio

Dicas de Boas Práticas

  1. Evite 777 Sempre que Possível: Isso expõe arquivos a alterações indesejadas.
  2. Use Grupos para Gerenciar Permissões: Facilita a administração.
  3. Teste Configurações em Ambiente Controlado: Especialmente ao usar SUID, SGID ou Sticky Bit.
  4. Documente as Permissões: Isso ajuda a manter o controle em ambientes com vários usuários.

Conclusão

Compreender e usar eficientemente chmod e chown é crucial para manter a segurança e a organização no Linux. Com este guia, você está pronto para gerenciar permissões de forma eficaz. 🚀

Rolar para cima