Permissões de arquivo do Linux - O que é o Chmod 777 e como usá-lo

Se você é um novo usuário do Linux(new Linux user) , provavelmente encontrou o comando Chmod em algum momento no início. Talvez alguém tenha lhe dito para “chmod 777” mover um arquivo para uma determinada pasta e funcionou! Então, o que o comando chmod faz e o que os números significam?

Este artigo discutirá tudo o que você precisa saber sobre as permissões de arquivo do Linux . É importante saber disso para entender o comando chmod e os números que correspondem a determinados níveis de acesso. Se você usa Ubuntu , Fedora ou uma distribuição Linux(Linux distro) mais exótica , você deve entender quando não há problema em definir permissões para 777 usando o comando CHMOD e quando você deve usar uma configuração diferente.(CHMOD)

Como funcionam as permissões de arquivo do Linux

No Linux , o sistema operacional determina quem pode acessar um determinado arquivo com base na permissão, propriedade e atributos do arquivo. O sistema permite que você, proprietário ou administrador, habilite restrições de acesso a vários arquivos e diretórios. Você pode melhorar a segurança do seu sistema dando acesso apenas a usuários e programas em que confia.

Entendendo as classes de usuário(Understanding User Classes)

Um usuário específico e um grupo possuem cada arquivo e diretório. Isso significa que há três categorias de usuários(three categories of users) às quais você pode atribuir um determinado nível de acesso. Esses usuários são classificados da seguinte forma:

  • Proprietário
  • Grupo
  • Outros

Você pode ver esses grupos visualmente no Ubuntu clicando com o botão direito do mouse em qualquer diretório, selecionando Propriedades(Properties) e acessando a guia Permissões .(Permissions)

O proprietário(Owner) é a pessoa com todo o poder. Normalmente, eles têm acesso total a todos os arquivos e diretórios e também podem alterar as permissões de arquivos de outros usuários.

O Grupo(Group) é composto por um número de usuários que possuem um certo nível de acesso a um arquivo ou diretório fornecido pelo Proprietário(Owner) . Por exemplo, um grupo de usuários pode ser excluído da modificação de um arquivo enquanto recebe acesso para visualizar esse arquivo.

A classe Others simplesmente representa usuários convidados que não se enquadram nas outras duas categorias. Por padrão, seu nível de acesso geralmente é restrito. Cabe ao Proprietário(Owner) determinar o que os usuários convidados podem ou não fazer.

Compreendendo os níveis de permissão de arquivo(Understanding File Permission Levels)

Como Proprietário(Owner) , você pode atribuir três níveis de acesso aos seus arquivos e diretórios:

  1. Ler(Read) : Dá acesso limitado a um arquivo ou diretório. Tudo o que você pode fazer é ler o arquivo ou visualizar o conteúdo do diretório. Você não pode editar arquivos e não pode remover ou adicionar novos arquivos ao diretório.
  2. Write : Permite ler e editar arquivos. Se você atribuir esse nível de acesso a um diretório, também poderá remover ou adicionar arquivos.
  3. Execute : só é importante ao executar ou executar arquivos. Por exemplo, você não pode executar um script ou programa sem permissão para Executar(Execute) .

Combinando Classes e Permissões, você pode controlar quanto acesso um usuário específico tem a um arquivo ou diretório.

Símbolos(Symbols) de permissão e números(Numbers) explicados

As permissões de arquivo são representadas numericamente ou simbolicamente. Você pode usar símbolos e números para alterar as permissões de arquivos e diretórios. O método mais fácil é com números, mas você também deve entender os símbolos. Então, vamos dar uma olhada nos símbolos por trás das permissões de arquivo primeiro.

Símbolos de permissão de arquivo(File Permission Symbols)

Você pode visualizar suas permissões para todo o conteúdo em um determinado diretório se digitar o seguinte comando no terminal:

ls -l

Você pode navegar para qualquer diretório usando o comando cd . Se você é um iniciante completo, confira nosso artigo sobre comandos básicos do Linux(basic Linux commands) .

Em nosso exemplo, o diretório contém dois outros diretórios e um arquivo. As permissões são escritas usando (1+) 9 símbolos que podem ser divididos em trios para facilitar o entendimento. Vamos examinar o primeiro conjunto de permissões para o diretório Books :

drwxrwxr-x

Vamos dividi-lo para facilitar a leitura:

d rwx rwx rx

O primeiro símbolo é d, e significa diretório. Também pode ser um símbolo de traço se for um arquivo, como você pode ver no terceiro conjunto de permissões para o arquivo Outline.docx .

Em seguida, temos três grupos de símbolos. O primeiro grupo representa os níveis de permissão do Proprietário, o segundo grupo é para a classe Grupo(Group) e o terceiro representa Outros.

Cada conjunto de 3 símbolos significa ler, escrever, executar – nessa ordem. Assim, o Proprietário(Owner) tem permissão para ler, gravar e executar todos os arquivos e diretórios encontrados dentro do diretório Test . Aqui está uma representação visual:

Quando você vê um símbolo de traço em vez de r, w ou x, significa que a permissão não existe.

Números de permissão de arquivo(File Permission Numbers)

O formato numérico para permissões de arquivo é simples. Em essência, os códigos de permissão de arquivo têm três dígitos:

  • O primeiro é para o proprietário do arquivo.
  • O segundo representa o grupo do arquivo.
  • O último dígito é para todos os outros.

Os dígitos variam de 0 a 7 onde:

  • 4 = lido.
  • 2 = escrever.
  • 1 = executar.
  • 0 = sem permissão.

O dígito de permissão de cada classe é determinado pela soma dos valores das permissões. Em outras palavras, cada dígito para cada classe pode ser a soma de 4, 2, 1 e 0. Aqui está uma lista completa de permissões:

  • 0 (0 + 0 + 0) = A classe de usuário não tem permissões.
  • 1 (0 + 0 + 1) = Somente permissão de execução .(Execute)
  • 2 (0 + 2 + 0) = Somente permissão de gravação .(Write)
  • 3 (0 + 2 + 1) = permissões de gravação e execução.(Write)
  • 4 (4 + 0 + 0) = Somente permissão de leitura .(Read)
  • 5 (4 + 0 + 1) = Ler(Read) e executar permissões.
  • 6 (4 + 2 + 0) = Permissões de leitura e gravação.(Read)
  • 7 (4 + 2 + 1) = Todas as permissões.

Por exemplo, uma permissão 644 significa que o proprietário do arquivo tem permissões de leitura e gravação, enquanto as outras duas classes têm apenas permissão de leitura. Definir permissões usando o formato numérico requer apenas matemática básica.

Permissão 777

Como você provavelmente já adivinhou, uma permissão 777 dá permissões de leitura, gravação e execução para todas as três classes de usuário. Em outras palavras, qualquer pessoa que tenha acesso ao seu sistema pode ler, modificar e executar arquivos. Use-o apenas quando confiar em todos os seus usuários e não precisar se preocupar com violações de segurança.

A permissão 777 é usada frequentemente porque é conveniente, mas você deve usá-la com moderação. Na verdade, recomendamos nunca usá-lo porque os riscos de segurança são muito grandes. Um usuário não autorizado pode comprometer seu sistema ou, por exemplo, alterar seu site para distribuir malware.

Você deve dar permissão 755 em vez disso. Dessa forma, você, como proprietário do arquivo, tem acesso total a um determinado arquivo ou diretório, enquanto todos os outros podem ler e executar, mas não podem fazer nenhuma modificação sem a sua aprovação.

Modificando permissões de arquivo com (File)Chmod

Você pode alterar a permissão do arquivo com a ajuda do comando chmod. A maneira mais básica de usar este comando sem outras variáveis ​​é a seguinte:

nome do arquivo chmod 777(chmod 777 filename)

Substitua “(Replace “) filename” pelo nome do arquivo e seu caminho.

Lembre-se de que os únicos usuários com o poder de alterar as permissões de arquivo são aqueles com acesso root, os proprietários do arquivo e qualquer outra pessoa com poderes sudo .



About the author

Sou desenvolvedor web com experiência em Firefox e Google Docs. Sou formado em administração de empresas pela Universidade da Flórida. Minhas habilidades incluem: desenvolvimento de sites, sistema de gerenciamento de conteúdo (CMS), análise de dados e design de interface de usuário. Sou um consultor experiente que pode ajudar sua equipe a criar sites e aplicativos eficazes.



Related posts