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