O comando Chmod e as permissões de arquivos do Linux explicadas

Se você deseja gerenciar permissões de arquivo corretamente em qualquer sistema operacional Linux, é necessário conhecer o comando chmod.

Se você deseja gerenciar permissões de arquivo corretamente em qualquer sistema operacional Linux, é necessário conhecer o comando chmod.
Propaganda

Então você encontrou um sabor de Linux que você gosta, mas agora você está confuso porque você não tem a menor ideia sobre comandos de terminal e permissões de arquivos do Linux?

Ou talvez você tenha um site hospedado em um servidor Linux e tenha encontrado alguns problemas de permissão de arquivo que só podem ser resolvidos com alguma mágica de linha de comando.

Independentemente disso, um dos comandos mais essenciais do Linux para aprender Um AZ do Linux - 40 Comandos essenciais que você deve conhecer Um AZ do Linux - 40 Comandos essenciais que você deve conhecer O Linux é a terceira roda ignorada pelo Windows e Mac. Sim, na última década, o sistema operacional de código aberto ganhou muita tração, mas ainda está muito longe de ser considerado ... Read More é um pequeno mas poderoso comando chamado chmod . Mas antes de explicar o que o comando faz, primeiro precisamos entender um pouco sobre como o Linux trata a segurança de arquivos.

Noções básicas de permissões de arquivos do Linux

Os sistemas operacionais Linux são, na verdade, sistemas semelhantes ao Unix (entendendo o Linux versus o Unix), e os sistemas semelhantes ao Unix abordam as permissões de arquivos da seguinte forma:

Cada arquivo tem um proprietário, que determina a “classe de usuário” do arquivo. Cada arquivo também tem um grupo, que determina a “classe de grupo” do arquivo. Qualquer usuário do sistema que não seja o proprietário e não pertença ao mesmo grupo é determinado a ser outros .

Todos os arquivos em sistemas semelhantes ao Unix têm permissões atribuídas a todas as três classes, e estas determinam quais ações podem ser tomadas pelas ditas classes para o arquivo fornecido.

As três ações disponíveis em um sistema semelhante ao Unix são: ler (a capacidade de abrir e visualizar o conteúdo do arquivo), escrever (a capacidade de abrir e modificar o conteúdo de um arquivo) e executar (a capacidade de executar o arquivo). arquivo como um programa executável).

Em outras palavras, as permissões de um arquivo determinam se ou não:

  • O proprietário pode ler, gravar e executar o arquivo.
  • O grupo pode ler, gravar e executar o arquivo.
  • Qualquer outra pessoa pode ler, gravar e executar o arquivo.

As permissões de arquivo do Linux podem ser exibidas em dois formatos.

O primeiro formato é chamado de notação simbólica, que é uma cadeia de 10 caracteres: um caractere que representa o tipo de arquivo, nove caracteres que representam as permissões read (r), write (w) e execute (x) do arquivo na ordem de proprietário, grupo e outros. Se não for permitido, o símbolo do traço (-) é usado.

Por exemplo:

-rwxr-xr-- 

Isso significa que é um arquivo regular com permissões de leitura, gravação e execução para o proprietário; ler e executar permissões para o grupo; e apenas permissões de leitura para todos os outros.

O segundo formato é chamado de notação numérica, que é uma cadeia de três dígitos que representa cada usuário, grupo e outras permissões, respectivamente. Cada dígito pode variar de 0 a 7, e o valor de cada dígito é obtido somando as permissões da classe:

  • 0 significa que não são permitidas permissões.
  • +1 se a classe puder executar o arquivo.
  • +2 se a turma puder gravar no arquivo.
  • +4 se a turma puder ler o arquivo.

Em outras palavras, o significado de cada valor de dígito acaba sendo:

  • 0: sem permissão
  • 1: executar
  • 2: escrever
  • 3: Escreva e execute
  • 4: ler
  • 5: ler e executar
  • 6: ler e escrever
  • 7: Leia, escreva e execute

Portanto, o exemplo acima ( -rwxr-xr-- ) seria 754 em notação numérica.

Isso é permissões de arquivo do Linux em poucas palavras.

O que é o Chmod?

Em sistemas semelhantes ao Unix, chmod é um comando de nível de sistema que significa “modo de mudança” e permite que você altere manualmente as configurações de permissão de um arquivo.

Não deve ser confundido com chown, que é outro comando em nível de sistema em sistemas Unix que significa “alterar proprietário” e permite atribuir a propriedade de um arquivo a outro usuário ou chgrp, que significa “grupo de mudança” e atribui um arquivo para um grupo diferente. Estes são importantes para saber, mas não tão comumente usados ​​como chmod.

O que significa o Chmod 644?

Definir as permissões de um arquivo para 644 faz com que apenas o proprietário possa acessar e modificar o arquivo da maneira que quiser, enquanto todos os outros só podem acessar sem modificar, e ninguém pode executar o arquivo, nem mesmo o proprietário. Essa é a configuração ideal para arquivos acessíveis ao público, pois equilibra a flexibilidade com a segurança.

O que Chmod 755 significa?

Definir as permissões de um arquivo para 755 é basicamente a mesma coisa que 644, exceto que todos também têm permissões de execução. Isso é usado principalmente para diretórios acessíveis publicamente porque a permissão de execução é necessária para se transformar em um diretório.

O que significa o Chmod 555?

Definir as permissões de um arquivo para 555 faz com que o arquivo não possa ser modificado por ninguém, exceto pelo superusuário do sistema (saiba mais sobre o superusuário do Linux O que é SU e por que é importante usar o Linux efetivamente? Importante para usar o Linux de forma eficaz? A SU do Linux ou a conta de usuário root é uma ferramenta poderosa que pode ser útil quando usada corretamente ou devastadora se usada de maneira imprudente. Vejamos por que você deve ser responsável ao usar o SU. Isso não é tão comumente usado como 644, mas ainda é importante saber porque a configuração somente leitura evita alterações acidentais e / ou adulteração.

O que Chmod 777 significa?

Definir as permissões de um arquivo para 777 faz com que qualquer pessoa possa fazer o que quiser com o arquivo. Este é um enorme risco de segurança, especialmente em servidores web! Literalmente qualquer um pode acessar o arquivo, modificá-lo como quiser e executá-lo no sistema. Você pode imaginar o dano potencial se um usuário mal-intencionado colocar as mãos nele.

Como usar o Chmod no Linux

O comando chmod tem um formato simples:

 chmod [permissions] [file] 

As permissões podem ser dadas em notação numérica, que é o melhor formato para usar quando você deseja atribuir permissões específicas para todas as classes:

 chmod 644 example.txt 

As permissões também podem ser fornecidas em notação simbólica, o que é útil quando você deseja modificar apenas as permissões de uma determinada classe. Por exemplo:

 chmod u=rwx example.txt chmod g=rw example.txt chmod o=rw example.txt 

Você pode modificar permissões para várias classes, como este exemplo, que define o proprietário para leitura / gravação / execução, mas o grupo e outros para ler / executar:

 chmod u=rwx, g=rw, o=rw example.txt 

Ao atribuir as mesmas permissões a várias classes, você pode combiná-las:

 chmod u=rwx, go=rw example.txt 

Mas a beleza de usar a notação simbólica brilha quando você deseja apenas adicionar ou remover a permissão para uma determinada ação de uma determinada classe.

Por exemplo, isso adiciona a permissão de execução para o proprietário do arquivo:

 chmod u+x example.txt 

E isso remove as permissões de gravação e execução para outros usuários:

 chmod o-wx example.txt 

Por fim, se você quiser aplicar um determinado conjunto de permissões a todos os arquivos e pastas dentro de um diretório específico (ou seja, um chmod recursivo), use a opção -R e segmente um diretório:

 chmod -R 755 example_directory 

Enquanto o comando chmod parece um pouco louco à primeira vista, é realmente bastante simples e inteiramente lógico. Se você entende o que foi dito, basicamente domina o chmod!

Saiba mais sobre como dominar o Linux

Comandos como chmod, chown e chgrp são apenas a ponta do iceberg do Linux. Se você é novato no sistema operacional, recomendamos verificar esses truques para os novatos do Linux, bem como para esses comandos do Linux que você nunca deve executar.

Mas o mais importante, você faria melhor verificando o nosso guia abrangente de iniciantes para Ubuntu e Linux Ubuntu: um guia para iniciantes Ubuntu: um guia para iniciantes Curioso sobre o Ubuntu, mas não sabe por onde começar? Tudo o que você poderia precisar para começar com a versão mais recente do Ubuntu está aqui, escrito em inglês simples e fácil de entender. Leia mais, que ensinará tudo o que você precisa saber para começar e se familiarizar o suficiente para se sentir confortável.

In this article