Entendendo Permissões de Arquivo: O que significa “Chmod 777”?

Permissões Chmod Linux Macos

Se você é um usuário de Linux ou um administrador de sistema gerenciando um servidor Linux, você encontrará o erro “Você não tem permissões para enviar arquivo para a pasta”. Após algumas pesquisas no Google, a solução muitas vezes é tão simples quanto definir a permissão do arquivo para “775” ou “777”. Em termos técnicos, você será solicitado a “chmod 777 o arquivo”. Mas o que significa “777”? E por que deve ser “7” e não “8” ou “9”?

Neste post, mostramos como entender melhor as permissões de arquivo, incluindo o que chmod 777 significa.

Leia também: Como Renomear Arquivos Facilmente no Linux

Entendendo Permissões de Arquivo

Sistemas Unix (incluindo Linux e macOS) têm um mecanismo de controle de arquivo que determina quem pode acessar um arquivo ou pasta específica e o que podem fazer com isso.

Existem duas partes a considerar:

Classes. Isso determina quem pode acessar o arquivo. Existem três designações: um Proprietário, um Grupo (que compartilha as mesmas permissões) e Outros.

  • O Proprietário é geralmente o criador do arquivo ou pasta. No Linux, qualquer arquivo ou pasta que você criar em seu diretório Home geralmente é de sua propriedade, a menos que você mude especificamente a propriedade.
  • O Grupo contém um grupo de usuários que compartilham as mesmas permissões e privilégios de usuário.
  • Outros significa o público em geral.

Você pode visualizar as permissões de arquivo do Linux.

Permissões. Estas determinam o que o usuário pode fazer com um arquivo. Você pode Ler, Escrever ou Executar um arquivo, e você pode definir quase qualquer combinação dessas três permissões.

  • Ler. Você não pode modificar o conteúdo do arquivo de forma alguma. Quando aplicado a uma Pasta, você só pode visualizar os arquivos dentro dessa pasta; você não pode excluir ou modificar os arquivos de forma alguma ou adicionar mais arquivos à pasta.
  • Escrever. Você pode modificar o arquivo. Se você tiver acesso “escrita” a uma pasta, então você pode excluir e adicionar arquivos a essa pasta.
  • Executar. Executar é usado principalmente quando você precisa executar o arquivo e é mais comumente usado quando você precisa executar um script.

O menu suspenso

Usando Classes em combinação com Permissões, você pode controlar quem tem acesso a um arquivo e as ações que podem realizar.

O proprietário do arquivo geralmente terá todas as três permissões disponíveis (ler, escrever e executar). Se você não consegue enviar um arquivo para um servidor, muitas vezes é devido a permissões incompatíveis.

Explicando a Permissão de Arquivo 777

Uma vez que você tenha uma compreensão básica de Classes e Permissões, você pode começar a entender números como “777” e “775”.

Cada arquivo e pasta contém dados de 8 bits que controlam as permissões. Em sua forma binária básica, 000 significa que nenhuma permissão de qualquer forma é concedida.

Quando você define uma permissão “Ler”, ela adiciona 4 bits aos dados, tornando-se “100” (em formato binário) ou um “4” no formato decimal usual. Definir uma permissão “Escrever” adicionará 2 bits aos dados, tornando-se “010” e “2” em forma decimal. Por fim, definir uma permissão “Executar” adiciona 1 bit aos dados, que resultará em “001,” ou “1” em forma decimal. Em resumo:

  • Ler é equivalente a “4.”
  • Escrever é equivalente a “2.”
  • Executar é equivalente a “1.”

Em suma, definir permissões é matemática básica. Por exemplo, para definir permissões “Ler e Escrever”, combinamos 4 e 2 para obter 6. Claro, existem outras permutações:

  • 0: Sem permissão
  • 1: Executar
  • 2: Escrever
  • 3: Escrever e Executar
  • 4: Ler
  • 5: Ler e Executar
  • 6: Ler e Escrever
  • 7: Ler, Escrever e Executar

Um conjunto completo de permissões de arquivo atribui o primeiro dígito ao Proprietário, o segundo dígito ao Grupo e o terceiro a Outros. Aqui estão algumas das permissões comumente usadas:

  • 755. Este conjunto de permissões é comumente usado por servidores web. O proprietário tem todas as permissões para ler, escrever e executar. Todos os outros podem ler e executar, mas não podem fazer alterações no arquivo.
  • 644. Apenas o proprietário pode ler e escrever. Todos os outros podem apenas ler. Ninguém pode executar este arquivo.
  • 655. Apenas o proprietário pode ler e escrever e não pode executar o arquivo. Todos os outros podem ler e executar e não podem modificar o arquivo.

Quanto ao 777, isso significa que todo usuário pode Ler, Escrever e Executar. Como concede permissões totais, deve ser usado com cuidado. No entanto, em alguns casos, você precisará definir as permissões 777 antes de poder enviar qualquer arquivo para o servidor.

Definindo Permissões de Arquivo na Linha de Comando

No Linux, você pode facilmente mudar as permissões de arquivo clicando com o botão direito em um arquivo ou pasta e selecionando “Propriedades.” Isso abrirá uma aba de Permissão onde você pode fazer alterações.

Em contraste, você pode alterar as configurações de permissão no macOS clicando com o botão direito e selecionando “Obter Informações.” Aqui, você pode expandir a seção “Compartilhamento e Permissões” e fazer suas alterações.

O painel Obter Informações, mostrando permissões.

Para fazer modificações, selecione as permissões relevantes na seção de Privilégios e escolha algo mais adequado.

Definindo novas permissões de arquivo para um arquivo no macOS.

Embora esta não seja a única maneira de mudar permissões de arquivo. Vamos explicar isso em mais detalhes a seguir.

Mudando Permissões de Arquivo Usando chmod 777

Se você está mais familiarizado com o Terminal e a Linha de Comando, você também pode mudar permissões aqui.

O comando chmod permite que você “mude o modo” – outra maneira de descrever permissões de acesso. Para fazer isso, abra o Terminal e digite o seguinte:

chmod777/path/to/file

Em resumo, chmod 777 combina os dois conceitos que apresentamos ao longo deste artigo. Isso significa tornar o arquivo legível, gravável e executável por todos com acesso. Como tal, é um comando poderoso e potencialmente destrutivo para o sistema – portanto, deve-se ter cuidado extra ao usá-lo.

Em Resumo

As permissões de arquivo podem apresentar um obstáculo se não forem definidas corretamente. Isso é intencional, pois um sistema bloqueado não pode ser comprometido. No entanto, se você gostaria de acessar um arquivo em seu sistema ou servidor, aprender a mudar certas permissões é uma habilidade sólida a ter.

Em suma, chmod 777 é o comando que você usará dentro do Terminal para tornar um arquivo ou pasta acessível a todos. Você deve usá-lo em raras ocasiões e voltar a um conjunto de permissões mais restritivas assim que terminar.

Se você está se perguntando o que mais o Terminal pode fazer, confira nosso post sobre como copiar e colar da linha de comando. Você precisa gerenciar permissões de arquivo e este post ajudará você? Deixe-nos saber na seção de comentários abaixo!