Como alterar as permissões de arquivos no Linux
Linux é um sistema operacional no qual podemos ter vários usuários. Portanto, precisamos gerenciar as permissões de acesso para arquivos no Linux. Se um usuário não tem permissões de acesso e edição de um arquivo, às vezes podemos receber Permission denied error. Podemos alterar as permissões dos arquivos no Linux utilizando o utilitário de linha de comando chmod.
Ver permissões de um arquivo em Linux
Para visualizar as permissões de todos os arquivos e diretórios no diretório de trabalho atual, utilizamos o comando ls -l.
ls -l
Resultado:
-rw-rw-r-- 1 zeppy zeppy 123 Oct 4 20:47 1.sh
-rw-rw-r-- 1 zeppy zeppy 46 Sep 30 20:36 file.txt
A parte no início de cada arquivo representa a permissão para cada arquivo específico no local. Na saída, -rw-rw-r-- representa a permissão do arquivo.
- No início,
-representa que o conteúdo é um arquivo rw-representa as permissões para ousuário.rw-representa a permissão para ogrupo de usuários.r--representa as permissões paraoutros.
O r representa a permissão de leitura, w representa a permissão de escrita, x representa a permissão de execução, e - não representa nenhuma permissão.
Como mostra a saída, user e group têm somente permissões de leitura e escrita, mas não executam a permissão, enquanto others têm somente permissões de leitura para ambos os arquivos no diretório de trabalho atual.
Alterar permissões de arquivo/diretório com o comando chmod
Sintaxe
chmod permissions filename
Aqui, permissions representam a permissão que queremos definir, e filename representa o nome do arquivo cuja permissão deve ser definida.
Podemos representar as permissões utilizando o modo absoluto ou utilizando o modo simbólico.
Exemplo: Definir permissões para arquivos utilizando o comando chmod
chmod 760 file.txt
Define as permissões de leitura, escrita e execução para o proprietário ou o usuário, permissões de leitura e escrita para o group, e nenhuma permissão para os outros para o arquivo file.txt. Aqui, as permissões são representadas utilizando o modo absoluto.
chmod u=rwx,g=rw,o=--- file.txt
Define as permissões de leitura, escrita e execução para o proprietário ou o usuário, permissões de leitura e escrita para o grupo, e nenhuma permissão para os outros utilizando o modo simbólico.
Exemplo: Definir permissões para diretórios utilizando o comando chmod
Para definir as permissões para todos os arquivos dentro de um diretório, usamos o comando chmod com a opção -R ou --recursive.
chmod -R 760 testdir
Ele define as permissões de leitura, escrita e execução para proprietário ou usuário, permissões de leitura e escrita para o grupo, e nenhuma permissão para os outros para o diretório testtdir utilizando o modo absoluto.
chmod -R u=rwx,g=rw,o=--- testdir
Define as permissões de leitura, escrita e execução para o proprietário ou para o usuário, permissões de leitura e escrita para o grupo e nenhuma permissão para os outros para o diretório testtdir utilizando o modo simbólico.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn