Compreendendo as permissões do Linux e o uso do CHMOD
- 3420
- 779
- Randal Kuhlman
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 upload de um arquivo para o meu servidor da web uma vez e receber um erro, meu host foi informado para alterar as permissões de arquivo para 755.
Eu não tinha idéia do que isso significava, embora mudar as permissões corrigisse 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 permissões do Linux em um alto nível e mostrarei como usar o comando chmod para alterar permissões para arquivos e pastas.
ÍndicePermissões e níveis do Linux
No Linux, existem basicamente três permissões com as quais você normalmente precisará se preocupar: Leia, escreva e execute. 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 outros representa todos os outros usuários que não são o proprietário ou no 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 simbólica do personagem das permissões.
Se você vir um traço no lugar de uma carta, significa que o proprietário, o 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 leram as permissões de gravação e execução.
Se você olhar para a saída do comando ls -l, notará que meu arquivo de texto prático possui as seguintes permissões:
-RW-RW-RW-
Isso significa que todos só têm 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 octal. Quando usamos 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, ele apenas atribui um número a cada permissão, como mostrado abaixo.
A permissão de leitura é representada por 4, escreva por 2 e execute por 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 adicionaremos 4 + 2 + 1 para obter um valor de 7. Fazemos o mesmo para o grupo e a mesma coisa para outros. 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, 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 maneira. Digamos que queremos saber quais permissões 755 representa? Bem, é muito fácil descobrir se você quebrá -lo por números individuais. O primeiro número é 7, 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 leram e executam permissões.
Felizmente, essa é uma boa explicação de como representar permissões no Linux usando números octal. É bastante direto em geral.
Usando o CHMOD para modificar as permissões
Agora que entendemos como ler permissões, vamos falar sobre como podemos mudá -las. A utilidade mais fácil de usar para esse fim é 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 conversamos acima, a saber:
-RW-RW-RW-
Se quiséssemos adicionar a permissão de execução para proprietário, grupo e outro, poderíamos fazer isso de duas maneiras. Poderíamos usar o método de 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 nome do arquivo
A sintaxe é a seguinte: a carta ou letras que representam o proprietário (você), grupo (g), outro (o) ou todos (a) seguido por um + para adicionar permissões ou um - para tirar permissões e depois a carta para a permissão (r para leitura, c 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 eu queria remover as permissões de gravação e executar apenas para o grupo e outros usuários.
Como você pode ver aqui, eu costumava o seguinte comando para conseguir isso:
Chmod Go-Wx FileName
Como eu quero mudar as permissões para o grupo e outros, eu uso a letra g e a carta o. Eu quero remover as permissões, então eu uso o - sinal. Finalmente, quero remover as permissões de gravação e execução, então eu uso c e x. Aqui está uma pequena mesa ú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, você pode ver que usei o seguinte comando:
CHMOD 744 nome do arquivo
Isso basicamente diz que o proprietário recebe permissão de leitura/gravação/execução e o grupo e outros recebem apenas a 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 de permissões novamente.
Agora eu usei o seguinte comando, novamente muito simples:
CHMOD 640 nome do arquivo
Aqui damos ao proprietário ler/escrever permissões, apenas a permissão de leitura do grupo e o outro grupo sem permissões. Você usa um zero para denotar não permissões. Muito simples, eh?
Em conclusão, esta é uma visão geral muito simples das permissões do Linux e pode ficar muito mais complicado 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, fique à vontade para comentar. Aproveitar!
- « Restringir o acesso ao comutador Cisco com base no endereço IP
- Corrigir a tarefa agendada não será executada para .Arquivo de morcego »