Entendendo as permissões do Linux e o uso do chmod


Eu fiz um curso sobre 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 para o meu servidor da Web uma vez e receber um erro, meu host me disse para alterar as permissões de arquivo para 755.

Eu não tinha ideia do que isso significava, apesar de mudar as permissões corrigiram o problema. Agora percebi que as permissões do Linux não são tão complicadas, você só precisa entender o sistema. Neste artigo, falarei sobre as permissões do Linux em um alto nível e mostrarei como usar o comando chmod para alterar as permissões de arquivos e pastas.

Linux Permissions & amp; Níveis

No Linux, existem basicamente três permissões com as quais você normalmente terá que se preocupar: ler, escrever e executar. Todos os três são bem autoexplicativos. 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.

Leia, escreva e execute 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, verá a representação de caracteres simbólicos das permissões.

As permissões são escritas da seguinte forma: o primeiro bit é um traço ou a letra d. Dashsignifica que é um arquivo e dsignifica diretório. Note que o primeiro bit também pode ser um lse 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 primeiros três bits são para o proprietário, os segundos três bits são para o grupo e os terceiros três bits são para o outro. Aqui está uma explicação mais visual.

Se você vir um traço no lugar de uma carta, isso significa que o proprietário, grupo ou todos os outros usuários não tem 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ê observar a saída do comando ls -l, observará que meu arquivo de texto de prática tem o seguintes permissões:

-rw-rw-rw-

Isso significa que todos só têm permissões de leitura / gravação para o arquivo. Veja outro exemplo:

drwxr--r--

Olhando 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 do número octal

É 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 usarmos o comando chmod mais tarde, você verá que 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 octal? Basicamente, apenas atribui um número a cada permissão, conforme mostrado abaixo.

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

-rwxrwxrwx

O proprietário tem rwx, então adicionaremos 4 + 2 + 1 para obter um valor de 7. Nós fazemos a mesma coisa para o grupo e a mesma coisa para o outro. O valor octal final é 777. Vamos dar uma olhada no exemplo em que apenas demos permissões de leitura / gravação:

-rw-rw-rw-

O primeiro número octal será 4 + 2, já que estamos adicionando ler e escrever. O segundo será o mesmo que o terceiro número octal. Aqui temos um valor octal final de 666.

Então, vamos tentar de outra maneira. Digamos que queremos saber quais permissões 755representam? Bem, é muito fácil descobrir se você divide 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.

Espero que isso seja uma boa ideia. explicação de como representar permissões no Linux usando números octal. É bem simples no geral.

Usando o 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 essa finalidade é o comando chmod. Veja como funciona. A melhor maneira de explicar o comando é através de um exemplo.

Vamos começar com as permissões que mencionamos acima, a saber:

-rw-rw-rw-

queria adicionar a permissão de execução para o proprietário, grupo e outros, poderíamos fazê-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, faríamos o seguinte, como mostrado abaixo:

O comando exato é

chmod a+x filename

A sintaxe é a seguinte: a letra ou letras representando o proprietário (u), grupo (g), outro (o) ou all (a) seguido por um +para adicionar permissões ou um -para remover permissões e, em seguida, a carta para a permissão (rpara leitura, wpara gravação e xpara execução).

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

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

chmod go-wx filename

Como eu quero alterar as permissões para o grupo e outro, eu uso a letra ge a letra o. Desejo remover permissões, então uso o sinal -. Por fim, desejo remover as permissões de gravação e execução, por isso uso we x. Aqui está uma pequena mesa para uso de símbolos:

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

Se começarmos com as seguintes permissões em um arquivo, vamos ver como podemos alterá-las usando o método octal:

-rw-rw-rw-

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

chmod 744 filename

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

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

Aqui, damos ao proprietário permissões de leitura / gravação, o grupo só pode ler e o outro grupo não tem permissão. Você usa um zero para denotar nenhuma permissão. Bem simples, eh?

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

Comando chmod - Alterar permissões pelo terminal - Linux

Postagens relacionadas:


16.02.2017