Festival de Ofertas: até 80% de desconto Aproveite a oferta

Como alterar permissões e a propriedade no Linux

Como alterar permissões e a propriedade no Linux

Gerenciar corretamente as permissões e a propriedade de arquivos no Linux é essencial para a segurança, principalmente quando vários administradores gerenciam o mesmo servidor. Além disso, usar as configurações corretas garante que o servidor funcione corretamente.

Neste artigo, você vai aprender como alterar permissões e propriedade no Linux. Antes disso, vamos explicar como funcionam as permissões e a propriedade de arquivos em sistemas Linux.

Visão geral sobre como alterar permissões no Linux

Os comandos para alterar permissões de arquivos e diretórios são os mesmos. Aqui estão alguns dos mais comuns:

  • chmod +rwx item – adiciona as permissões de leitura, gravação e execução ao item.
  • chmod -rwx item – remove todas as permissões do item.
  • chmod +r item – adiciona permissão de leitura a um item.
  • chmod -x item – impede que todos os usuários executem o item.

Você pode ajustar ainda mais as configurações de permissão para diferentes usuários. Vamos explicar melhor isso nas seções a seguir.

Important

Importante!
Se aparecer uma mensagem de erro relacionada a privilégios ao alterar permissões ou propriedade, comece o comando com sudo.

Entendendo o modelo de permissões do Linux

Usuários e grupos

Os sistemas Linux têm três categorias às quais você pode atribuir permissões e propriedade:

  • proprietário – usuário que é o dono do arquivo ou da pasta.
  • grupo – vários usuários que pertencem à mesma categoria.
  • outros – todos os usuários que não são nem o proprietário nem membros do grupo.

Tipos de permissão

No Linux, arquivos e pastas têm três tipos de permissões, cada uma com uma letra inicial. Veja a explicação:

  • leitura (r) – permite que os usuários vejam o conteúdo de um arquivo ou diretório.
  • gravação (w) – permite que os usuários editem o conteúdo de um arquivo. No caso de diretórios, eles podem criar, excluir e mover arquivos dentro da pasta.
  • execução (x) – permite executar um arquivo. Em diretórios, essa permissão permite abri-los e acessar todo o seu conteúdo.

Como ver as permissões atuais

Como o gerenciamento de permissões exige o uso de comandos, abra a interface de linha de comando do sistema. Use o Terminal em um computador local ou conecte-se via SSH se estiver usando um sistema remoto, como um servidor virtual privado (VPS).

Se você usa a plataforma de VPS da Hostinger, também pode acessar a CLI do sistema com um clique usando o Browser terminal. Basta abrir a página de gerenciamento do VPS no hPanel e clicar no botão correspondente.

Para ver as permissões de arquivos e pastas no seu diretório de trabalho atual, execute o seguinte comando:

ls -l

Se quiser verificar apenas um item específico, execute o seguinte comando:

ls -l nome_do_item

Você verá uma saída semelhante a esta:

drwxrwxrwx 2 user1 admins 4096 Sep 12 04:33 config

Essa saída contém várias informações. Como queremos verificar as permissões e a propriedade, vamos focar em user1, admins, config e drwxrw-r–.

O marcador user1 indica o proprietário do item, enquanto admins representa o grupo Linux ao qual ele pertence. O nome do item fica no final, que é config.

A sequência drwxrw-r– mostra as permissões do item. Vamos analisar:

  • d – o primeiro caractere da sequência indica o tipo do item, que pode ser um diretório (d), um arquivo comum () ou um link simbólico (l).
  • rwx – a segunda parte especifica as permissões do proprietário. Como temos rwx, o user1 pode ler, gravar e executar o diretório.
  • rw- – a terceira parte indica as permissões do grupo sobre o item. O hífen () representa a ausência da permissão de execução, portanto os membros do grupo admins só podem ler e gravar o diretório.
  • r– – a quarta parte define as permissões dos outros usuários. Como há apenas um r e dois hífens, eles só podem ler o diretório.

Important

Importante! A estrutura e a ordem das permissões sempre serão as mesmas.

Alterando permissões com o chmod

Para alterar as permissões de um item, use o comando chmod. A sintaxe é a seguinte:

chmod [opção] [modo] [nome_do_arquivo_ou_pasta]

Opção é um sinalizador adicional que altera o comportamento do comando chmod. Você pode conferir a lista completa na página do manual do chmod.

O modo define as novas permissões do arquivo ou da pasta e pode ser especificado em notação simbólica ou numérica. Ambas funcionam da mesma maneira, mas têm vantagens específicas, que vamos explicar nas seções a seguir.

Modo simbólico

No modo simbólico, o chmod usa caracteres para representar a classe de usuário, as permissões e as operações. Veja a lista:

SímboloDefinição
uProprietário
gGrupo
oOutros
aTodas as classes de usuários (proprietário, grupo e outros)
+Adicionar permissões
Remover permissões
=Definir as permissões de acordo com os valores especificados
r, w, xPermissões

O modo simbólico é mais flexível e descritivo. Ele oferece mais controle ao alterar permissões, já que permite modificar privilégios específicos de uma classe de usuários. Veja este exemplo:

chmod u+wx,g-x,o=r script.sh

Veja o significado de cada símbolo:

  • u+wx – adiciona (+) permissões de gravação (w) e execução (x) ao proprietário do item (u).
  • g-x – remove () a permissão de execução (x) sobre o arquivo do grupo (g).
  • o=r – define (=) as permissões de outros usuários (o) sobre o item como somente leitura (r).

Por exemplo, se as permissões iniciais do arquivo forem -r–rwxrwx, elas vão ficar -rwxrw-r–.

Modo numérico (octal)

O modo numérico usa números de três dígitos para determinar as novas permissões. O primeiro dígito representa as permissões do proprietário, o segundo é para o grupo do proprietário e o terceiro é para outros usuários.

Veja os números e seus significados:

NúmeroDefinição
4Permissão de leitura
2Permissão de gravação
1Permissão de execução
0Sem permissão

Para definir várias permissões, basta somar os números. Por exemplo, 3 (1+2) torna um item executável e gravável, enquanto 7 (1+2+4) concede privilégios totais sobre o item.

Por exemplo, esse comando vai definir a permissão do arquivo script.sh como -rwxrw-r–:

chmod 764 script.sh

A notação numérica é mais simples do que a simbólica. No entanto, ela é menos flexível, já que não permite adicionar ou remover uma permissão específica. Por isso, é mais indicada para aplicar rapidamente um conjunto específico de permissões.

Digamos que o proprietário possa ler e gravar em um item, mas você queira torná-lo executável. Com a notação simbólica, você pode adicionar a permissão usando u+x. Com a notação numérica, você precisa adicionar o privilégio já existente de novo usando 7 em vez de apenas 1.

Alterações recursivas de permissão

A opção -R do chmod ativa o modo recursivo, que permite definir novas permissões para uma pasta e todo o seu conteúdo usando um único comando.

Por exemplo, temos uma pasta script que contém os subdiretórios subscript1 e subscript2, além de vários arquivos .sh. A estrutura fica assim:

script/

├── subscript/
│ └── script1.sh

├──subscript2/

├── script2.sh

└── script3.sh

Com o chmod em modo recursivo, você pode alterar as permissões de todos os itens acima modificando apenas a pasta script:

chmod -R 777 script

Alterando a propriedade com chown e chgrp

No Linux, se você criar um item, você será o proprietário por padrão. Se você pertencer a um grupo, todos os outros membros vão herdar as mesmas permissões. Você pode alterar a propriedade usando o comando chown ou chgrp.

O chown é o comando mais comum, que permite alterar a propriedade tanto para usuários quanto para grupos. A sintaxe é a seguinte:

chown [opções] [usuário:grupo] [item]

Por exemplo, se você quiser mudar a propriedade do script.sh para johndoe, que faz parte do grupo admins, use o seguinte comando:

chown johndoe:admins script.sh

Para transferir a propriedade para um novo usuário e manter o grupo atual, basta omitir o nome do grupo:

chown johndoe script.sh

Da mesma forma, omita o nome do usuário se quiser mudar a propriedade de um item para outro grupo. No entanto, certifique-se de iniciar o nome do grupo com dois pontos (:), assim:

chown :admins script.sh

O comando chown também permite usar a opção -R para alterar a propriedade de um item de forma recursiva:

chmod -R johndoe:admins scriptfolder

Diferentemente do chown, o chgrp permite alterar apenas o grupo proprietário de um item. Veja um exemplo:

chgrp admins script.sh

Bits de permissão especiais

Além das permissões de leitura, gravação e execução, o Linux tem permissões adicionais que oferecem mais controle sobre os itens do sistema. Esta seção vai explicar o que são e como configurá-las.

Setuid e setgid

A permissão Set user ID (setuid) permite que você execute um arquivo como o proprietário, em vez de como o usuário atual. Você pode adicioná-la usando o caractere s na notação simbólica, assim:

chmod u+s script.sh

Por exemplo, se root é o proprietário do script.sh, ao executar o arquivo, ele será rodado como root, mesmo que você esteja conectado como outro usuário. Esse comportamento é útil para executar um programa como um usuário específico, principalmente durante processos de automação.

Important

Importante!
O usuário atual que vai rodar o programa precisa ter permissão de execução sobre o arquivo. Você pode conceder essa permissão modificando o grupo ou outras classes de usuários.

Depois de adicionar a permissão s, o privilégio do proprietário do arquivo deve aparecer como rws. É basicamente o mesmo que rwx, mas indica que o setuid está ativo. A permissão setuid correta pode ficar assim:

-rwsr-xr-x

Set group ID (setgid) funciona de forma semelhante ao setuid, mas executa arquivos usando as permissões do grupo associado. Para conceder essa permissão, use o seguinte comando:

chmod g+s script.sh

Assim como o setuid, a conta que executa o arquivo deve ter permissão de execução, seja como proprietário ou como outros usuários. As permissões setgid podem ficar assim:

-rwxr-sr-x

Quando você cria um novo arquivo dentro de uma pasta com setgid, ele passa a pertencer ao grupo associado. Normalmente, o novo arquivo herda esse grupo como proprietário.

Bit sticky

Por padrão, todos os usuários com permissão de gravação em uma pasta podem renomear e excluir arquivos dentro dela. Esse comportamento é arriscado, pois eles podem remover itens importantes sem querer.

O bit sticky evita isso, impedindo que os usuários excluam ou renomeiem arquivos, a menos que sejam os proprietários. Configurá-lo não revoga a permissão de gravação, o que significa que os usuários podem modificar o conteúdo do arquivo.

Para ativar o sticky bit em uma pasta, adicione a permissão t usando o modo simbólico do chmod:

chmod +t pasta

A permissão t substitui a permissão de execução dos outros usuários. Aqui está um exemplo de permissão de uma pasta com o sticky bit ativado:

drwxrwxrwt

Você também pode adicionar o sticky bit recursivamente a todas as subpastas e arquivos dentro de uma pasta, adicionando a opção -R assim:

chmod -R +t pasta

Conclusão

Definir as permissões e a propriedade corretas dos itens é fundamental para a segurança e a funcionalidade do servidor. No Linux, você pode conceder permissões de leitura, gravação e execução a três classes de usuários: proprietário, grupo e outros.

Para alterar permissões no Linux, use chmod seguido das configurações e dos itens que você quer modificar. Para definir as permissões, use a notação simbólica se quiser mais flexibilidade ou a notação numérica se preferir um comando mais simples.

Para alterar a propriedade de um item para outro usuário ou grupo, use o comando chown. Para alterar apenas a propriedade do grupo, use o comando chgrp.

Além dessas três permissões, o Linux também tem outras especiais. Por exemplo, setuid e setgid permitem que você execute um arquivo como o proprietário ou o grupo associado. Você também pode adicioná-las usando o comando chmod.

Perguntas frequentes sobre como alterar permissões no Linux

Qual comando é usado para alterar permissões no Linux?

Para alterar as permissões de um arquivo ou pasta no Linux, use o comando chmod. A sintaxe é chmod [opção] [modo] [item]. A opção modifica o comportamento do comando, o modo especifica as novas permissões, enquanto o item se refere ao arquivo ou pasta que você quer modificar.

Como vejo as permissões atuais de um arquivo?

Para ver as permissões atuais de um arquivo, execute ls -l nome_do_arquivo, substituindo nome_do_arquivo pelo nome real do arquivo que você quer verificar. Você também pode executar ls -l para ver as permissões de todos os arquivos e pastas no diretório atual.

O que significa chmod no Linux?

No Linux, o comando chmod significa change mode. Ele permite alterar as permissões de um arquivo ou pasta para definir quais usuários podem lê-lo, gravá-lo ou executá-lo.

Todo o conteúdo dos tutoriais deste site segue os rigorosos padrões editoriais e valores da Hostinger.

Author
O autor

Faradilla Ayunindya

Faradilla, mais conhecida como Ninda, tem 10 anos de experiência como linguista e 5 anos como Especialista em Marketing de Conteúdo na Hostinger. Ela gosta de acompanhar as tendências em tecnologia e de ajudar as pessoas a resolver seus problemas. No tempo livre, Ninda gosta de estudar idiomas e ciências da vida, além de assistir a vídeos de animais. Conecte-se com ela no LinkedIn.

O que dizem nossos clientes

Comentários

6 responses

Write a respond

Por gentileza, preencha os campos solicitados.Marque o campo de aceitação da privacidade.Preencha os campos necessários e marque a opção de aceitar termos de privacidade.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Thank you! Your comment has been successfully submitted. It will be approved within the next 24 hours.
Author
Naldo

March 28 2018

otimo, ajudou bastante

Author
vicente

April 12 2019

muito bem, me ajudou muito.

Author
EMILIO DAMI SILVA

September 01 2019

Valeu! Esse seu artigo é muito bom!

Author
Wellington de Elias

November 09 2023

Será que não há um erro no tutorial, na seção de passo 1, especialmente na seção das permissões mais comuns. O terceiro tipo acredito que deveria ser TODOS podem ler e escrever, proprietário, grupo e outros, e não como está: "proprietário pode lar e escrever, e grupo e outros podem ler."