Eu tenho feito um curso no Linux nos últimos meses e um aspecto do Linux que sempre me confundiu foi como as permissões funcionavam. Por exemplo, ao fazer o upload de um arquivo no meu servidor da Web uma vez e obter um erro, o meu host na web me disse que mudasse as permissões de arquivos para 755.

Eu não tinha idéia do que isso significava, mesmo que mudar as permissões corrigisse o problema. Eu já percebi que as permissões do Linux não são tão complicadas, você só precisa entender o sistema. Neste artigo, vou falar sobre as permissões do Linux em um alto nível e mostrar-lhe como usar o comando chmod para alterar permissões para arquivos e pastas.

Permissões e níveis do Linux

No Linux, existem basicamente três permissões que normalmente você precisa se preocupar: ler, escrever e executar. Todos os três são bastante auto-explicativos. Agora, quando essas permissões são aplicadas a um arquivo, elas são aplicadas em níveis.

Existem três níveis de permissões no Linux: proprietário, grupo e outros. O proprietário é o usuário que possui o arquivo / pasta, o grupo inclui outros usuários no grupo do arquivo e outro apenas representa todos os outros usuários que não são o proprietário ou o grupo.

Ler, escrever e executar são representados como caracteres simbólicos ou como números octais. Por exemplo, se você fizer um ls -l em um diretório com alguns arquivos, você verá a representação de caracteres simbólicos das permissões.

As permissões são escritas da seguinte maneira: o primeiro bit é um dash ou a letra d. Dash significa que é um arquivo e d representa o diretório. Note que o primeiro bit também pode ser um l se o nome do arquivo for um link. Em seguida, existem três grupos de três bits. O primeiro bit em cada grupo é para leitura, o segundo bit é para gravação e o terceiro bit é para execução. Os três primeiros bits são para o proprietário, os segundos três bits são para o grupo e os três três bits são para outros. Aqui está uma explicação mais visual.

Se você vir um traço no lugar de uma carta, isso significa que o proprietário, o grupo ou todos os outros usuários não possuem essa permissão. No exemplo acima, o proprietário, o grupo e todos os outros leram as permissões de gravação e execução.

Se você olhar para o resultado do comando ls -l, você notará que meu arquivo de texto de prática possui as seguintes permissões:

  -rw-rw-rw-

Isso significa que todos têm apenas permissões de leitura / gravação para o arquivo. Aqui está outro exemplo:

  Drwxr - r--

Olhando para o primeiro bit, podemos ver que as permissões são para um diretório. O proprietário tem permissões de leitura / gravação / execução, mas o grupo e outros usuários só têm permissão de leitura.

Representação de número octal

Então é assim que as permissões são exibidas no Linux usando símbolos. A segunda maneira de representar as mesmas permissões é usando números octal. Quando usamos o comando chmod mais tarde, você verá que você pode alterar as permissões usando símbolos ou números octais.

Então, como o Linux representa leitura, gravação e execução usando números octais?Basicamente, ele atribui apenas um número a cada permissão como mostrado abaixo.

A permissão de leitura é representada por 4, escreva por 2 e execute em 1. Tudo o que você precisa fazer é adicioná-los para obter a permissão octal. Por exemplo, vamos dar o exemplo acima, onde todos têm todas as permissões:

  -rwxrwxrwx

O proprietário tem rwx, então vamos adicionar 4 + 2 + 1 para obter um valor de 7. Fazemos a mesma coisa para o grupo e o mesmo para outros. O valor octal final é 777. Vamos dar uma olhada no exemplo em que apenas damos permissões de leitura / gravação:

  -rw-rw-rw-

O primeiro número octal será 4 + 2, pois estamos adicionando leitura e gravação. O segundo será o mesmo que o terceiro número octal. Aqui temos um valor octal final de 666.

Então, agora vamos tentar o contrário. Digamos que queremos saber quais permissões 755representa? Bem, é muito fácil descobrir se você derrubar por números individuais. O primeiro número é 7, o que só podemos obter adicionando 4 + 2 + 1, o que significa que o proprietário tem permissão de leitura / gravação / execução. Cinco só podem ser obtidos adicionando 4 + 1, o que significa que o grupo e outros usuários têm permissões de leitura e execução.

Felizmente, essa é uma boa explicação para como representar permissões no Linux usando números octal. É bastante simples em geral.

Usando Chmod para Modificar Permissões

Agora que entendemos como ler permissões, vamos falar sobre como podemos alterá-las. O utilitário mais fácil de usar para esse propósito é o comando chmod. Veja como funciona. A melhor maneira de explicar o comando é passar por um exemplo.

Vamos começar com as permissões sobre as quais falamos acima, a saber:

  -rw-rw-rw-

Se quisermos adicionar a permissão de execução para o proprietário, o grupo e outros, poderíamos abordá-lo de duas maneiras. Poderíamos usar o método do símbolo ou o método octal. Para o método do símbolo, faremos o seguinte, conforme mostrado abaixo:

O comando exato é

  Chmod a + x filename

A sintaxe é a seguinte: a letra ou letras que representam o proprietário ( u ), o grupo ( g ), outro ( o ) ou todos ( a ) seguido de um + para adicionar permissões ou  para retirar as permissões e, em seguida, a carta para A permissão ( r para leitura, w para escrever e x para executar).

No exemplo acima, adicionei a permissão de execução para todos os usuários. O resultado como você pode ver na captura de tela acima é um x para proprietário, grupo e outro.Agora, digamos que queria remover as permissões de gravação e execução apenas para o grupo e outros usuários.

Como você pode ver aqui, usei o seguinte comando para realizar isso:

  Chmod go-wx filename

Como eu quero mudar as permissões para grupo e outro, uso a letra g e a letra o . Quero remover permissões, então eu uso o  sinal. Finalmente, eu quero remover as permissões de gravação e execução, então eu uso w e x . Aqui está uma pequena mesa útil para o uso de símbolos:

Então, é tudo o que há para usar o método do símbolo. Agora vamos falar sobre o método octal, que eu acho um pouco mais fácil. Octal é bom porque você pode adicionar ou remover permissões de uma só vez.

Se começarmos com as seguintes permissões em um arquivo, vejamos como podemos modificá-los usando o método octal:

  -rw-rw-rw-

Acima, você pode ver que usei o seguinte comando:

  Chmod 744 filename

Isto basicamente diz que o proprietário obtém permissão de leitura / gravação / execução e o grupo e outros só recebem permissão de leitura. Como você pode ver, é fácil adicionar ou remover permissões em um comando simples. Vamos continuar e dizer que quero mudar as permissões novamente.

Agora eu usei o seguinte comando, novamente um muito simples:

  Chmod 640 filename

Aqui damos as permissões de leitura / escrita do proprietário, o grupo apenas permite permissão de leitura e o outro grupo sem permissões. Você usa um zero para denotar nenhuma permissão. Muito simples, eh?

Em conclusão, esta é uma visão geral muito simples das permissões do Linux e pode ser muito mais complicado do que isso, mas para iniciantes, é um bom lugar para começar. Eu publicarei mais artigos sobre permissões mais avançadas no futuro. Se você tiver alguma dúvida, fique à vontade para comentar. Apreciar!

Anúncios