Propaganda

Então você encontrou um sabor do Linux que você gosta, mas agora você está confuso porque não tem a menor idéia sobre comandos de terminal e permissões de arquivo 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 da linha de comando.

Independentemente disso, um dos comandos Linux mais essenciais para aprender Um A-Z do Linux - 40 comandos essenciais que você deve saberO Linux é a terceira roda frequentemente ignorada no Windows e Mac. Sim, na última década, o sistema operacional de código aberto ganhou muita força, mas ainda está longe de ser considerado ... consulte Mais informação é um comando pequeno mas poderoso chamado chmod. Mas antes de explicar o que o comando faz, precisamos primeiro entender um pouco sobre como o Linux lida com a segurança de arquivos.

O básico das permissões de arquivo do Linux

Os sistemas operacionais Linux são na verdade sistemas Unix (

Entendendo Linux vs. Unix) e sistemas semelhantes ao Unix abordam permissões de arquivo da seguinte forma:

Todo arquivo tem um proprietário, que determina a "classe de usuário" do arquivo. Cada arquivo também possui 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 está determinado a ser outras.

Todos os arquivos em sistemas tipo Unix têm permissões atribuídas a todas as três classes e determinam quais ações podem ser executadas pelas referidas classes para o arquivo especificado.

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), Escreva (a capacidade de abrir e modificar o conteúdo de um arquivo) e executar (a capacidade de executar o arquivo como um programa executável).

Em outras palavras, as permissões de um arquivo determinam se:

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

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

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

Por exemplo:

-rwxr-xr--

Isso significa que é um arquivo comum 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 notação numérica, que é uma sequência 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 classe puder gravar no arquivo.
  • +4 se a classe 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.

Essas são as permissões de arquivo do Linux em poucas palavras.

O que é o Chmod?

Em sistemas tipo Unix, chmod é um comando no nível do sistema que significa "modo de alteração" e permite alterar 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 semelhantes ao Unix, que significa "alterar proprietário" e permite atribuir a propriedade de um arquivo a outro usuário, ou chgrp, que significa "alterar grupo" e atribui um arquivo a um grupo diferente. É importante saber isso, mas não é tão comum quanto o chmod.

O que significa o Chmod 644?

Definir as permissões de um arquivo como 644 facilita que apenas o proprietário possa acessar e modificar o arquivo, no entanto quiser enquanto todo mundo só pode 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 porque equilibra flexibilidade com segurança.

O que significa o Chmod 755?

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 ao público, porque a permissão de execução é necessária para mudar para 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 Linux O que é SU e por que é importante usar o Linux de maneira eficaz?A conta de usuário root ou SU do Linux é uma ferramenta poderosa que pode ser útil quando usada corretamente ou devastadora se usada de forma imprudente. Vejamos por que você deve ser responsável ao usar o SU. consulte Mais informação ). Isso não é tão comum quanto o 644, mas ainda é importante saber porque a configuração somente leitura impede alterações acidentais e / ou adulterações.

O que significa o Chmod 777?

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

Como usar o Chmod no Linux

O comando chmod tem um formato simples:

chmod [permissões] [arquivo]

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

chmod 644 exemplo.txt

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

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

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

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

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

chmod u = rwx, vá = rw exemplo.txt

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

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

chmod u + x exemplo.txt

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

chmod o-wx example.txt

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

chmod -R 755 exemplo_diretório

Embora o comando chmod pareça um pouco louco à primeira vista, na verdade é bastante simples e totalmente lógico. Se você entendeu o que foi dito acima, 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ê é novo no sistema operacional, recomendamos que verifique estes truques para iniciantes no Linux bem como estes Comandos do Linux que você nunca deve executar.

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

Joel Lee tem um BS. em Ciência da Computação e mais de seis anos de experiência profissional em redação. Ele é o editor chefe do MakeUseOf.