Entendento o comando chmod

Aqui descrevo de forma prática e rápida o comando CHMOD, explicando sobre as permissões. Espero que isso ajude a entender como funciona, pois tive diversos problemas até entender as permissões.

[ Hits: 272.956 ]

Por: JuiceMan em 20/02/2008


Comando chmod



chmod - altera permissões

Lembre que somente quem tem permissão no arquivo ou diretório poderá alterar as permissões, quando ocorrer erros, verifique seus direitos sobre o arquivo ou diretório com o comando "ls -l" ou faça com poderes de root.

Vamos aprender de modo simples a usar as permissões que muitas vezes é bastante complicado.

Tendo em mente que o conceito de binário significa 0 = desligado e 1 = ligado, vejamos como fica na tabela abaixo:

     rwx
 0 - 000
 1 - 001
 2 - 010
 3 - 011
 4 - 100
 5 - 101
 6 - 110
 7 - 111

Onde "rwx" são as permissões de um arquivo, ou seja:
  • r=read (leitura)
  • w=write (gravação, alteração, deleção)
  • x=execute (execução)

Feito isso, sabemos que um arquivo ou diretório possui 3 modos de permissão. Uma permissão para o DONO do arquivo ou seja, quem o criou, uma outra permissão para o GRUPO do usuário dono do arquivo, e outra permissão para QUALQUER outro usuário ou grupo.

Sabendo disso, temos a tabela final abaixo:

    dono grupo outros
     rwx   rwx   rwx
 0 - 000   000   000
 1 - 001   001   001
 2 - 010   010   010
 3 - 011   011   011
 4 - 100   100   100
 5 - 101   101   101
 6 - 110   110   110
 7 - 111   111   111

Exemplo: Temos um diretório qualquer chamado mp3 que eu quero permissão total para o dono [eu], permissão de apenas leitura para o meu grupo e nenhuma permissão para o resto do mundo. O comando para executar essa ação é o CHMOD (em minúsculo mesmo).

$ chmod 740 /mp3

(acompanhem na tabela acima, que o 7=rwx, 4=r e 0=nada)

    Próxima página

Páginas do artigo
   1. Comando chmod
   2. Os modos de permissão no Unix
   3. Alterando as permissões de acesso a um arquivo
Outros artigos deste autor

Montar HD em NTFS com o ETCH

Leitura recomendada

KnowledgeTree - Um Gerenciador Eletrônico de Documentos funcional

Raspberry Pi 4B Como Servidor Linux de Baixo Custo

Certificado Digital para Peticionamento Eletrônico (2018)

Clip no Slackware (compilador Clipper)

Instalação do Arch Linux com LVM + Luks

  
Comentários
[1] Comentário enviado por maran em 20/02/2008 - 17:01h

Muito bom cara, bem explicado, fundamental para um bom começo.
Você poderia ter dado mais exempls usando

chmod u=rwx g=rwx o=r
E assim por diante.
É mais fácil pelo menos na minha opnião para quem nunca teve um contato.

So isso eu acrescentaria neste artigo , mais exemplos, de resto.
Excelente.

[2] Comentário enviado por eduardo em 21/02/2008 - 08:56h

Só adicionando, quando você usa o modo octal, se lê sempre da esquerda para a direita, por exemplos, chmod 700 é o mesmo que chmod 7.

Mas muito bom o artigo

[3] Comentário enviado por bicalho em 21/02/2008 - 12:29h

Artigo simples, claro e direto...
Muito bom
Parabens

[4] Comentário enviado por mcnd2 em 28/02/2008 - 22:29h

Está de parabéns pelo artigo.

Eu tive já alguns problemas com permissões de arquivos e não sabia como poderia resolver. Depois desse artigo, acho que já posso começar a editar certas permissões, sendo que eu sou o único usuário do computador então só seria necessário editar as permissões dos arquivos de root pois como usuario comum não tenho permissão total para executar certos arquivos. Acho que é isso.

Mais uma vez está de parabéns.

[5] Comentário enviado por rodrigoclira em 21/04/2009 - 00:25h

Otimo artigo ,
conseguiu me explicar de onde saia aqueles números
mágicos 777 640 ... agora tenho uma duvida
como eu faço pra a permissão tambem ser dada as sub-pastas da pasta
que dei permissão.

abraço

[6] Comentário enviado por roberto_espreto em 15/09/2009 - 03:13h

Para dar permissão para as sub-pastas, basta adicionar a opção -R (De recursivo) no comando chmod.
Ficando assim o comando:

# chmod -R 777 pasta/

Artigo legal.

[7] Comentário enviado por leClikk em 24/12/2010 - 15:47h

Valeu juiceman!

Estava aqui penando com as permissões. Agora, tudo parece mais simples.

Feliz natal.

[8] Comentário enviado por cbcarlos7 em 30/10/2012 - 10:05h

Depois de muito tempo usando o chmod 777 sem saber direito o risco que eu estava correndo, porque não entendia, finalmente hoje, entendi de acordo com seu artigo, parabéns!

[9] Comentário enviado por thiago.matar em 07/11/2012 - 09:16h

O artigo me fez resolver um problema de LOGIN INCORRECT ao tentar logar com o usuario root.

verifiquei que foi permitido acesso 777 ao diretorio /, com isso meu SSH e outros serviços pararam.
foi só usar o comando chmod -R 740 / e reiniciado o SSH que funcionou normalmente.

Obrigado

[10] Comentário enviado por Mestre_Vrw em 30/01/2013 - 18:51h

Uma duvida eu entendi o comando -R para as sub-pastas e para os arquivos das sub-pasta tb vai funcionar com esse comando?

Digo posso alterar qualquer arquivo dentro da sub-pasta só com o -R ???

Obrigado e esta de parabéns...

[11] Comentário enviado por Mestre_Vrw em 30/01/2013 - 19:47h

Mais uma duvida estou aplicando este comando aqui chmod -R 776 Pasta/ e não esta funcionando convidados não consegue entrar na pasta.
Este outro comando aqui o pessoal entra mais não consegue criar ou apagar chmod -R 775 Pasta/ estou executando como root pelo su, alguem podeira me ajudar?

Obrigado.

[12] Comentário enviado por lm.pintanel em 31/01/2013 - 09:41h

Bom o artigo, esta precisando de ajuda.
Esclareceu todas as minhas dúvidas sobre o assunto.

[13] Comentário enviado por NewScript em 09/01/2014 - 14:52h

Ola, obrigado pelo artigo. Muito bom. Só fiquei como uma dúvida:

Vc usou o exemplo:
# chmod joão=+rw /mp3

-- Essa é a forma de adicionar determinadas permissões a determinado usuário?

Se for... o que estou fazendo de errado quando tenho 3 usuários, root, carlos e paulo,
e com o usuário carlos, dono do arquivo, teste.doc, e no local onde esta este arquivo,
tento:
chmod paulo=+rwx teste.doc
e não dá certo....

Estou usando o Debian 7 e já tentei inclusive com o root...

[14] Comentário enviado por jefferson07 em 11/03/2014 - 20:07h

Muito bom o artigo, muito bem explicado!

[15] Comentário enviado por skywalk em 01/01/2015 - 13:21h

O akkiri.com também tem um artigo sobre o comando CHMOD.

http://www.akkiri.com/dicas/chmod.php

[16] Comentário enviado por AC_BC em 12/09/2015 - 17:14h

O artigo está muito objetivo e deixa o assunto bem claro, mas no final, quando são apresentados alguns exemplos, no ultimo deles, que é assim
drwx-wx-wx chmod 733 diretório
O dono tem acesso total ao diretório. Todos os outros usuários podem apenas escrever.
Pelo que eu tinha entendido seria assim:

111 == (1 x 2²) + (1 x 2¹) + (1 x2⁰ ) = (4 + 2 + 1 = 7) => todos os direitos
110 == (1 x 2²) + (1 x 2¹) + (0 x 2⁰ ) = (4 + 2 +0 = 6) => escrita e leitura
101 == (1 x 2²) + (0 x 2¹) + (1 x 2⁰ ) = (4 + 0 +1 = 5) => leitura e execução
100 == (0 x 2²) + (1 x 2¹) + (0 x 2⁰ ) = (4 + 0 +0 = 4) => somente escrita
011 == (0 x 2²) + (1 x 2¹) + (1 x 2⁰ ) = (0 + 2 +1 = 3) => excrita e execução
010 == (0 x 2²) + (1 x 2¹) + (0 x 2⁰ ) = (0 + 2 +0 = 2) => somente escrita;
001 == (0 x 2²) + (0 x 2¹) + (1 x 2⁰ ) = (0 + 0 +1 = 1) => somente execução;
000 == (0 x 2²) + (0 x 2¹) + (0 x 2⁰ ) = (0 + 0 +0 = 0) => nenhuma permissão.

Pelo seu exemplo sendo 733, tem 3 para o grupo e 3 para o resto, logo, esses podem escrever e executar, e não apenas escrever como mencionado.
Para ter permissão apenas para escrever, é necessário que o valor seja 4 (010).
Se não for assim, precisarei ler outras vezes o artigo, para tentar compreender.

Origado e um abraço!

OBS.: Não soube como corrigir, mas 2⁰ é 2 elevado a ZERO 2⁰


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts