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.182 ]

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

Extreme Programming e sua relação com Software Livre

Como acessar uma partição ReiserFS pelo Windows

Instalando o XGL no Kurumin 6.0 e 6.1

Clonando HDs na rede

Servidor de rede (PDC - Proxy Transparente - DNS)

  
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