Pesquisa de site

Compreendendo as permissões do Linux: as diferenças entre chmod e chown


Se você está apenas começando a aprender sobre permissões de arquivo em um sistema Linux, os comandos chmod e chown serão o seu ponto de partida para conceder ou revogar permissões de arquivo para contas de usuário. chmod e chown são comandos completamente diferentes, mas andam de mãos dadas quando se trata de modificar permissões de arquivos no sistema de arquivos Linux. O resumo básico é que chown pode alterar o proprietário de um arquivo, e chmod pode alterar as permissões do arquivo, mas esta explicação é apenas o começo.

Para obter a capacidade de editar completamente as permissões de um arquivo, será necessário dominar os comandos chmod e chown. Mas não se preocupe, nenhum deles é tão complicado e ambos requerem apenas um pouco de conhecimento para entender.

Neste tutorial, explicaremos as diferenças entre os comandos chmod e chown em um sistema Linux. Você aprenderá a sintaxe do comando por meio de exemplos de ambos os comandos e verá como usá-los em conjunto para obter as permissões e configurações de segurança adequadas que deseja para os arquivos em seu sistema Linux. Junte-se a nós abaixo para saber mais.

Neste tutorial você aprenderá:

  • Como alterar a propriedade do arquivo com o comando chown
  • Como alterar as permissões de arquivo com o comando chmod
  • Qual é a diferença entre os comandos chmod e chown do Linux?

Comandos chown vs. chmod do Linux

Os comandos chmod e chown do Linux são as principais ferramentas usadas para controlar permissões de arquivos no Linux. Ambos andam de mãos dadas e devem ser usados em conjunto para controlar efetivamente quais usuários têm a capacidade de usar determinados arquivos.

Existem três permissões principais no Linux:

  • Ler – a capacidade de abrir um arquivo e ler seu conteúdo
  • Gravar – a capacidade de editar e salvar alterações em arquivos
  • Executar – a capacidade de executar um arquivo, como um script Bash

Esses três tipos de permissões podem então ser delegados a três tipos de usuários diferentes:

  • Proprietário – o usuário ou proprietário do arquivo
  • Grupo – um grupo de usuários que possui permissões no arquivo
  • Outros – todos os outros usuários que não são proprietários nem estão no grupo

Digamos que temos o seguinte arquivo:


$ ls -l example_file.txt 
-rwxrw-r-- 1 linuxconfig admins 22 Oct  2 18:00 example_file.txt

A saída nos diz que:

  • O proprietário do arquivo é linuxconfig, com permissões de leitura, gravação e execução
  • O grupo do arquivo é admins, com permissões de leitura e gravação
  • Todos os outros usuários têm apenas permissões de leitura no arquivo

A seguir, vamos ver como usar esses dois comandos para alterar quais usuários podem interagir com nossos arquivos no Linux.

Como usar o chown

Para atribuir permissões a usuários individuais ou a um grupo de usuários, primeiro precisamos usar o comando chown para especificar quem deve ser o proprietário e o grupo do arquivo. Depois de aplicar essas configurações, poderemos editar as permissões do proprietário e do grupo com chmod.

  1. Vamos começar definindo o proprietário do arquivo example_file.txt para o usuário linuxconfig:

    
    $ sudo chown linuxconfig:linuxconfig example_file.txt
    

    Observe que usamos o comando sudo aqui, que é necessário para alterar a propriedade do arquivo. Também usamos a sintaxe linuxconfig:linuxconfig para alterar o usuário e o grupo simultaneamente. Isto é efetivamente o mesmo que não conceder permissões de grupo, já que o grupo linuxconfig contém apenas um usuário – linuxconfig.

  2. Ou se quisermos configurar o proprietário linuxconfig e o grupo admins podemos executar:

    
    $ sudo chown linuxconfig:admins example_file.txt
    
  3. O comando chgrp pode ser usado se você quiser alterar apenas o grupo de um arquivo, e não o proprietário. Neste exemplo mudamos o grupo para admins:

    
    $ sudo chgrp admins example_file.txt
    

Como usar o chmod

Agora que temos o proprietário e o grupo configurados corretamente, podemos usar o comando chmod para modificar as permissões de arquivo necessárias para o proprietário, grupo e outros usuários.

O comando chmod pode aceitar muitas sintaxes e opções, e estaria fora do escopo deste tutorial cobrir todas elas. Em vez disso, consulte nosso tutorial do comando chmod para obter uma lista de vários exemplos. Nesta seção, cobriremos apenas o básico para ajudá-lo a entender como o chmod é diferente do chown.

O comando a seguir alterará as permissões do proprietário, do grupo e de outros usuários:


$ chmod 760 example_file.txt
  • O 7 é equivalente às permissões de leitura, gravação e execução e concederá essas permissões ao proprietário
  • O 6 é equivalente às permissões de leitura e gravação e irá concedê-las ao grupo
  • O 0 equivale a nenhuma permissão e as atribui a todos os outros usuários

Desta forma, podemos ver como os comandos chown e chmod se complementam para obter as permissões que precisamos para cada arquivo. O comando chmod controla as permissões para todos os usuários, e o comando chown nos permite atribuir permissões de uma forma mais granular, configurando as contas do proprietário e do grupo.

Considerações finais

Neste tutorial, aprendemos sobre as diferenças entre os comandos chown e chmod em um sistema Linux. Ambos os comandos se complementam para dar aos usuários a capacidade de delegar permissões de leitura, gravação e execução aos usuários no sistema. Esses dois comandos devem ser compreendidos e dominados para evitar que os arquivos sejam acessados por usuários não intencionais.

Artigos relacionados: