Linux chmod Example

Neste rápido tutorial, veremos como podemos usar o comando chmod numa máquina Ubuntu para encontrar, modificar e remover permissões de usuários de arquivos específicos que existem no sistema de arquivos do usuário. Vamos jogar através de várias condições para que possamos dominar comandos chmod básicos que podem tornar nossa vida diária mais fácil com o Ubuntu.

Permissões do Linux

Permissões do Linux são um grande conjunto de regras que são simples de entender se entendermos os direitos básicos. Os três pontos principais que precisamos entender para saber como as permissões Linux funcionam são:

  • O elemento para o qual as permissões foram definidas
  • Que ações podem ser realizadas com uma permissão
  • Quem pode realizar que ações

Existem dois elementos básicos no Sistema de Arquivos Linux:

  1. Directórios
  2. Arquivos

Há três acções que podem ser realizadas:

  1. Ler
  2. Escrever
  3. Executar. Além de executar scripts, as mesmas ações são necessárias para criar arquivos e outras pastas dentro dele

O usuário que pode executar essas ações são:

  1. Proprietário do arquivo
  2. Grupo do dono do arquivo
  3. Usuário que não está associado ao grupo do dono ou ao próprio dono

Para ver as permissões relacionadas a um arquivo, execute o seguinte comando:

ls -l

Aqui está o que obtemos de volta com este comando:

Permitir permissão para ficheiros

Permitir permissão para ficheiros

Na saída, os primeiros 10 caracteres apresentam a permissão para o ficheiro:

  • Primeiro caractere, que é ‘-‘ neste caso significa que se trata de um ficheiro. Para um diretório, este teria sido um ‘d’.
  • Nextos nove caracteres representam permissões para o dono, o grupo do dono, e outros, respectivamente.

Permissões de alteração

Sintaxe para modificar as permissões de um arquivo parecido com:

arquivo chmod permissões …

Representação octal para Permissões

Podemos apresentar as permissões como um número octal. Por exemplo, para definir read, escreva & executar permissões para o dono, leia & escrever permissões para seu grupo, e nenhuma permissão para outros, em um arquivo hello.txt, vamos executar o seguinte comando:

sudo chmod 760 hello.txt

Após executarmos o comando acima e tentarmos ler um arquivo com uma conta de não-proprietário usando o seguinte comando:

sudo -u notowner-user mais hello.txt

Obteremos o seguinte erro:

hello.txt: Permissão negada

Mas de onde vem este número? Cada dígito desse número representa um conjunto de permissões. Vejamos como eles foram derivados:

  • 0: Significa sem permissão
  • 1: Significa a permissão de execução
  • 2: Significa a permissão de escrita
  • 4: Significa a permissão de leitura

Para atribuir permissão de leitura, escreva & executar permissões para o proprietário, atribuímos-lhe o número 7(= 4 + 2 + 1). Vamos entender melhor isso em uma tabela de dígitos:

Número Binário Ler Escrever Executar
0 000 NO NO NO
1 001 NÃO NÃO YES
2 010 NÃO YES NO
3 011 NO YES YES
4 100 YES NO NO
5 101 YES NO YES
6 110 YES SIM NO
7 111 SIM SIM SIM

Acima da tabela está muito claro o que cada um representa em termos de permissões de arquivo.

Representação de caracteres para permissões

Podemos apresentar as permissões como um número octal. Por exemplo, para definir read, escreva &Executar permissões para o dono, leia &Escrever permissões para seu grupo, e nenhuma permissão para outros, para um arquivo hello.txt, vamos executar o seguinte comando:

sudo chmod u=rwe,g=rw,o-rwx hello.txt

Para adicionar permissões a um usuário existente, também podemos fazer:

sudo chmod g+w hello.txt

Aqui, a permissão de escrita estava sendo atribuída ao grupo de usuários do dono do arquivo.

Mudanças de PermissõesRecursivas

Tambem podemos mudar as permissões de arquivos contidos em um diretório específico com um único comando. Para modificar as permissões de cada arquivo e pasta em um diretório fornecido de uma vez, use sudo chmod com -R:

sudo chmod 777 Directory/*

Vemos a seguinte saída que reflete claramente a mudança nas permissões dos arquivos:

Mudança recursiva de permissões de arquivo

Mudança recursiva de permissões de arquivo

Conclusão

Nesta lição, nós olhamos como podemos modificar as permissões de um arquivo e, se necessário, fazê-lo recursivamente. Entendemos conceitos básicos por trás de como as permissões do Linux podem nos ajudar muito em nosso trabalho diário.

Deixe um comentário