Como alterar recursivamente as permissões de arquivo no Linux

Linux File Permissions Featured
⏱️ 5 min read

Como o Linux é um sistema operacional multiusuário, ele possui um mecanismo que define e gerencia permissões de arquivo para garantir que apenas processos e usuários autorizados possam acessar vários diretórios e arquivos. Ao usar o Linux, você pode encontrar várias instâncias em que não pode editar arquivos ou diretórios devido ao erro “Permissão negada”, indicando que você não possui os privilégios necessários. Este tutorial mostrará como alterar recursivamente as permissões de arquivo no Linux para garantir que suas configurações de permissão se apliquem a subpastas e arquivos.

Como verificar as permissões de arquivo no Linux

Quando o erro “permissão negada” ocorre em uma operação de arquivo ou diretório, comece verificando as permissões alocadas para o usuário, grupo e outros.

Para isso, você pode usar o ls -l comando. Por exemplo, a seguir estão as permissões para vários arquivos e diretórios no diretório “/var”.

Ls L

A saída acima contém informações específicas.

  1. A primeira coluna representa as permissões de arquivo e diretório. A primeira letra nesta coluna indica o tipo: d significa diretório, l significa um link simbólico, e - um arquivo normal.
  2. Os outros nove caracteres são agrupados em três conjuntos: u do utilizador, g grupo, e o proprietário indicar as permissões de arquivo ou diretório. r indica permissões de “leitura”, w indica permissões de “gravação” e X indica permissões de “executar”.
Ls La Hightlight

Depois de conhecer as permissões de arquivo do seu diretório ou arquivo de trabalho, você pode alterá-las facilmente.

Como usar chmod para alterar as permissões de arquivo

o chmod O comando é a maneira mais fácil de alterar as permissões de arquivo no Linux. A sintaxe geral do comando é:

chmod {permission}{operator}{mode}
  • Permissão: Isso representa as permissões concedidas a um usuário, grupo, proprietário ou a todos.
  • Operador: indica as permissões concedidas ao cessionário da permissão: + concede permissão, - nega permissões e = especifica quais permissões definir.
  • Modo: isso determina quais permissões definir: r ler, w escrever ou x executar.

Por exemplo, para negar a todos o acesso de gravação ao diretório de backup no diretório “/var”, você pode usar o comando:

 sudo chmod -w /var/backups

Embora alterar as permissões de arquivo usando o chmod O comando é efetivo, ele altera apenas as permissões de arquivo para o diretório ou arquivo especificado.

Felizmente, você pode alterar recursivamente as permissões de arquivo de um diretório ou arquivo e seus subdiretórios e arquivos. Para fazer isso, use o comando chmod recursivo -r opção.

Por exemplo, vamos remover recursivamente read permissões para o diretório “/var/backup” e todos os seus arquivos e subdiretórios. As permissões atuais são:

drwxrwxrwx  2 root root   4096 Jul 15 06:25 backups

Agora vamos correr chmod recursivamente para alterar as permissões:

sudo chmod –r -r /var/backups

Agora você pode ver que as permissões do arquivo foram alteradas.

Chmod Remover Permissão 1

Permissão de alteração recursiva com localizar

Normalmente, você não definirá arquivos e diretórios com permissões semelhantes. Isso ocorre porque você precisa da permissão de execução para cd em um diretório específico. No entanto, a maioria dos arquivos não requer essa permissão de execução.

Para superar isso, você pode usar o find utilitário no Linux. Isso permite que você encontre apenas arquivos ou diretórios específicos e defina permissões para eles.

Vamos pegar o diretório “/var/log”. O diretório contém arquivos e diretórios.

Diretórios de Arquivos de Log Var

Para definir permissões específicas apenas para arquivos, podemos usar o comando find com o -type f opção.

Veja um exemplo de comando abaixo:

sudo find /var/log/ -type f -exec chmod 777 {} ;

No exemplo acima, usamos o comando find para pesquisar arquivos no diretório “/var/log” e, em seguida, definimos as permissões de leitura, gravação e execução para usuários, grupos e tudo mais.

Também podemos fazer o mesmo caso para diretórios. Neste caso, especificamos o -type d para obter apenas diretórios.

Por exemplo:

sudo find /var/log/ -type d -exec chmod 755 {} ;

No exemplo acima, definimos apenas a permissão 755 para diretórios e não para arquivos e diretórios.

Você pode verificar isso usando o ls -la comando.

Chmod com verificação de localização

Você notará que todos os arquivos têm a permissão 777, enquanto os diretórios têm 755 permissões.

Em Fechamento

Saber como alterar as permissões de arquivos no Linux é uma habilidade essencial, pois ajuda a evitar acesso não autorizado e modificações em vários arquivos e diretórios. Enquanto isso, você também pode alterar a propriedade do arquivo para restringir o acesso ao arquivo ou usar uma lista de controle de acesso para um controle ainda mais preciso das permissões de arquivo no Linux.

Join our Newsletter and receive offers and updates! ✅

0 0 votes
Article Rating
Avatar of Routech

Routech

Routech is a website that provides technology news, reviews and tips. It covers a wide range of topics including smartphones, laptops, tablets, gaming, gadgets, software, internet and more. The website is updated daily with new articles and videos, and also has a forum where users can discuss technology-related topics.

Você pode gostar...

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x