Como Alterar Permissões de Pasta Linux via Linha de Comando
Neste tutorial, você aprenderá como alterar permissões de pasta Linux, bem como alterações de proprietários, por meio de linha de comando em sistemas de hospedagem Linux / Unix. Há dois comandos básicos que você pode usar para realizar esta tarefa: chmod e chown.
O que você precisa?
Antes de começar este guia de como alterar permissões de pasta Linux, você precisará do seguinte:
- Acesso à linha de comando
Passo 1 – Alterar Permissões de Pasta Linux via Linha de Comando
Chmod – Este comando é usado para alterar permissões de pasta Linux e de um arquivo. Basicamente, cada arquivo tem três tipos de usuários que podem interagir com ele:
Tipo | Função |
---|---|
Proprietário | É o usuário que criou e possui um arquivo/ diretório. |
Grupo | Todos os usuários que são membros do mesmo grupo. |
Outros | Todos os outros usuários, no sistema que não são nem proprietários nem membros do grupo. |
O comando ls -l, pode ser usado para ver permissões de arquivos e proprietários. Por exemplo, ls -l file1.txt vai exibir:
-rwxr–rw- 1 user user 0 Jan 19 12:59 file1.txt
- “-rwxr–rw-“ – Esta parte da linha exibe permissões. Existem 4 letras principais que você mais comumente notará nesta parte: r,w,x,d. d significa que o tipo do arquivo é diretório, no nosso exemplo, não há tal letra (há um símbolo “-“, que basicamente significa “não”) .
A letra x significa a permissão para executar (execute) um arquivo / pasta (precisamos desse tipo de permissão para entrar em uma pasta). A letra w letra w significa permissão para gravar escrever (write) um arquivo / ou pasta (editar o arquivo, excluir o arquivo e etc.). E a última letra é r, o que significa ler (read).
Se temos permissões de leitura, podemos ler o conteúdo do arquivo, mas é somente isso, sem permissão para editar ou executá-lo (por exemplo, podemos ler o código do script, mas não podemos executá-lo).
- 1 – Uma série de links rígidos. Basicamente, um link rígido é um nome adicional para um arquivo existente.
- user user – Mostra o proprietário e o proprietário do grupo do arquivo.
- 0 – Mostra o tamanho do arquivo.
- Jan 19 12:59 – Mostra a data da última modificação.
- file1.txt – Fornece o nome do arquivo/pasta.
Então vamos voltar para o comando chmod. Este comando permite-nos alterar as permissões de um arquivo ou pasta. E vamos te ensinar-lhe como fazer isso simplesmente adicionando números juntos. Cada tipo de permissão tem seu próprio número:
- r (Ler) – 4
- w (Escrever) – 2
- x (Executar) – 1
Assim, por exemplo, se quisermos definir as permissões deo file1.txt para esses:
-rwxr–rw- 1 user user 0 Jan 19 12:59 file1.txt
Teríamos de escrever este comando:
chmod 746 file1.txt
Basicamente, cada número nestse comando representa permissões para um dodos tipos de usuário (proprietário, proprietário do grupo e outros).
Assim, o primeiro número é 7, agora usando a explicação dos significados de número acima, a única maneira que podemos obter um número 7 é adicionando os números 4, 2 e 1 que é: 4 + 2 + 1 = 7. O que basicamente significa TODAS as permissões (ler, escrever e executar – rwx).
Este primeiro número define as permissões para o proprietário do arquivo. O segundo número é 4, o que significa a permissão r (ler) e este número dá permissões de leitura para o proprietário do grupo.
O terceiro número é o 6, usando o número número significados acima, a única maneira de obter esse número é adicionando 4 e 2, que é 4 + 2 = 6. Assim, damos aos outros a permissão para ler (4) e escrever (2) o arquivo. A terceira parte (file1.txt) do comando é um nome de arquivo, escrevemos o nome do arquivo para o qual queremos definir essas permissões.
Outro exemplo seria este: chmod 777 file2.txt, este comando basicamente daria TODAS as permissões para cada tipo de usuário (proprietário, grupo e outros).
Aqui está uma lista das permissões mais comuns para arquivos:
Valores | Valores Numéricos | Funções |
---|---|---|
-rw——- | 600 | Proprietário pode ler e escrever. |
-rw-r–r– | 644 | Proprietário pode ler e escrever, o grupo e outros podem ler. |
-rw-rw-rw- | 666 | Proprietário pode ler, escrever e executar, o grupo e outros podem ler e escrever. |
-rwx—— | 700 | Proprietário pode ler, escrever e executar, grupo e outros não podem fazer nada com o arquivo. |
-rwx–x–x | 711 | Proprietário pode ler, escrever e executar, o grupo e outros podem executar. |
-rwxr-xr-x | 755 | Proprietário pode ler, escrever e executar, o grupo e outros podem ler e executar. |
-rwxrwxrwx | 777 | Proprietário, grupo e outros podem ler, escrever e executar. |
As permissões comuns para diretórios:
Valores | Valores Numéricos | Funções |
---|---|---|
drwx—— | 700 | Apenas o proprietário pode ler e gravar neste diretório. |
drwxr-xr-x | 755 | Proprietário, grupo e outros podem ler o diretório, mas apenas o proprietário pode alterar seu conteúdo. |
Existem outras maneiras de alterar as permissões do arquivo usando o comando chmod, mas nossa recomendação pessoal seria aprender um deles e usá-lo sempre (neste caso, a maneira de numeração). Se você deseja saber mais sobre as outras formas de alterar permissões de pasta Linux, você pode ler sobre isso aqui.
Passo 2 – Alterar os Proprietários de Arquivos e Pastas Através da Linha de Comando
Chown – Este comando é usado para alterar os proprietários de um arquivo ou pasta. A sintaxe mais básica deste comando é esta:
chown [owner/group owner] [file name]
Basicamente, se temos um arquivo “demo.txt” e queremos definir o proprietário do arquivo para “jerry” e o proprietário do grupo para “clientes”, usaremos este comando:
chown jerry:clients demo.txt
Então, como você pode ver, separamos o proprietário e o proprietário do grupo com um símbolo “:” (dois pontos). Se apenas quisermos alterar o proprietário do arquivo, usaríamos isso:
chown jerry demo.txt
Como você vê, nós simplesmente deixamos de fora o proprietário do grupo e apenas digitamos o novo proprietário do arquivo, então, nesse caso, o proprietário do grupo permanecerá inalterado. Outro exemplo semelhante seria se quiséssemos alterar o proprietário do grupo do arquivo, o comando seria assim:
chown :clients demo.txt
Nesse caso, apenas o proprietário do grupo mudaria para clientes (o proprietário permanece inalterado).
Passo 3 – Utilizar Opções Adicionais com os Comandos chmod e chown
Uma das principais opções que funciona com ambos os comandos é -R, o que significa recursivo. Esta opção permite que você altere permissões/ proprietários na pasta determinada e TODOS os outros arquivos e pastas dentro dessa pasta inicial.
Outras opções para “chmod” e “chown”:
Importante! Tenha cuidado extra com esta opção, se usado incorretamente, você pode acidentalmente alterar permissões de pasta Linux ou proprietários de TODOS os arquivos em seu sistema, o que pode causar falha crítica ou um monte de trabalho para alterar as permissões / proprietários de volta.
- “-f” – Silencioso, furtivo ou simplesmente força. Não mostrará a maioria das mensagens de erro.
- “-v” – Dá-lhe um diagnóstico de cada arquivo que foi afetado pelo comando.
- “-c” – Semelhante a -v, mas só irá fornecer informações caso as alterações tenham sido feitas de fato.
Conclusão
Neste tutorial, você aprendeu como alterar permissões permissões de pasta Linux e alterar proprietários de arquivos, por meio da linha de comando. Ter essas habilidades deve tornar a gestão do seu servidor de VPS online mais fácil. Se você quiser continuar aprendendo, confira estes tutoriais escolhidos a dedo:
Comentários
March 28 2018
otimo, ajudou bastante
March 29 2018
Muito obrigado, Naldo! :D
April 12 2019
muito bem, me ajudou muito.
September 01 2019
Valeu! Esse seu artigo é muito bom!
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."
November 10 2023
Oi, Wellington, obrigado pelo comentário! O 666 de fato permite que todos leiam e escrevam, mas apenas o proprietário pode ler, escrever e executar. Já corrigimos a tabela :)