Entendendo as permissões do Linux e o uso do chmod
Eu tenho feito 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 upload de um arquivo para o meu servidor web uma vez e receber um erro, meu host me disse para alterar as permissões do arquivo para 755.
Eu não tinha ideia do que isso significava, embora alterar as permissões corrigisse o problema. Agora percebi que as permissões do Linux(Linux) não são tão complicadas, você só precisa entender o sistema. Neste artigo, falarei sobre as permissões do Linux em alto nível e mostrarei como usar o comando chmod para alterar as permissões de arquivos e pastas.
Permissões e níveis do Linux
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 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 estão no grupo.
Read , write 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. Traço(Dash) significa que é um arquivo e d significa diretório. Observe 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 escrita 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 outros. Aqui está uma explicação mais visual.
Se você vir um traço no lugar de uma letra, significa que o proprietário, grupo ou todos os outros usuários não têm essa permissão. No exemplo acima, o proprietário, o grupo e todos os outros têm permissões de leitura, gravação e execução.
Se você observar a saída do comando ls -l, notará que meu arquivo de texto de prática tem 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 do 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 octais. 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 octais? Basicamente, ele apenas atribui um número a cada permissão, conforme mostrado abaixo.
A permissão de leitura é representada por 4, escrita por 2 e execução por 1. Tudo o que você precisa fazer é adicioná-los para obter a permissão octal. Por exemplo, vamos pegar o exemplo acima onde todos têm todas as permissões:
-rwxrwxrwx
O dono tem rwx, então vamos somar 4 + 2 + 1 para obter um valor de 7. 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 demos apenas 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 de outra forma. Digamos que queremos saber quais permissões 755 representa? Bem, é muito fácil descobrir se você dividir por números individuais. O primeiro número é 7, que só podemos obter adicionando 4 + 2 + 1, significando 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(Hopefully) que seja uma boa explicação de como representar permissões no Linux usando números octais. É bastante direto no geral.
Usando chmod para modificar permissões
Agora que entendemos como ler as permissões, vamos falar sobre como podemos alterá-las. O utilitário mais fácil de usar para esta finalidade é o comando chmod. Aqui está 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 quiséssemos adicionar a permissão de execução para proprietário, grupo e outros, poderíamos fazer isso de duas maneiras. Poderíamos usar o método do símbolo ou o método octal. Para o método de símbolo, faríamos o seguinte, conforme 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 todos ( a ) seguido por um + para adicionar permissões ou um – para retirar permissões e depois a letra para a permissão ( r para leitura, w para gravação e x para execução).
No exemplo acima, adicionei a permissão de execução para todos os usuários. O resultado como você pode ver na imagem acima é um x para 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 o seguinte comando para fazer isso:
chmod go-wx filename
Como quero alterar as permissões de grupo e outros, uso a letra g e a letra o . Eu quero remover permissões, então eu uso o sinal – . Por fim, quero remover as permissões de gravação e execução, então uso w e x . Aqui está uma pequena tabela útil para uso de símbolos:
Então, isso é tudo o que há para usar o método de 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, vamos ver como podemos alterá-las usando o método octal:
-rw-rw-rw-
Acima(Above) , você pode ver que 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 permissão apenas de leitura. Como você pode ver, é fácil adicionar ou remover permissões em um simples comando. Vamos continuar e dizer que quero alterar as permissões novamente.
Agora eu usei o seguinte comando, novamente um muito simples:
chmod 640 filename
Aqui demos ao proprietário permissões de leitura/gravação, ao grupo somente permissão de leitura e ao outro grupo sem permissões. Você usa um zero para denotar nenhuma permissão. Bem simples, hein?
Concluindo, 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. Estarei postando mais artigos sobre permissões mais avançadas no futuro. Se você tiver alguma dúvida, sinta-se à vontade para comentar. Aproveitar!
Related posts
Permissões de arquivo do Linux - O que é o Chmod 777 e como usá-lo
Comando Linux FIND com exemplos
5 grandes razões para abandonar o Windows para Linux
HDG explica: O que é UNIX?
9 melhores distribuições Linux para hackear
Crie seu próprio servidor de streaming de vídeo ao vivo com Linux
Como configurar e configurar arquivos TCP/IP no Linux (configurações TCP/IP para Linux)
Como atualizar para o Ubuntu mais recente
Adicionar atalhos ao menu de contexto do botão direito do mouse no Ubuntu
A maneira mais fácil de se conectar remotamente ao Linux Mint a partir de qualquer sistema operacional
Criar e editar arquivos zip no Linux usando o terminal
Faça uma distribuição Linux ao vivo personalizada com o Linux Live Kit
Fedora vs Ubuntu: Qual distribuição Linux é melhor?
9 coisas úteis que o Linux pode fazer que o Windows não pode
6 maneiras fáceis de acelerar sua instalação do Ubuntu
Por que o comando “less” é melhor do que “more” no UNIX e Linux
10 melhores gravadores de tela para Linux
Guia do Ubuntu Linux para iniciantes
Use o comando 'dd' do Linux com uma GUI simples
Razões comuns para falhas no Ubuntu e como recuperar