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.
Usando o comando 'chmod' para alterar as permissões de um arquivo, observando que ele somente muda a permissão não muda o tipo de arquivo.
Este comando pode ser usado de duas maneiras:
1º (primeiro):
chmod <atribuição> arquivo ou diretório
Onde "atribuição" é uma seqüência de caracteres formada por:
"u" = usuário, dono do arquivo ou documento.
"g" = grupo
"o" = outros
Devemos indicar as classes que terão as permissão alterada, usando os sinais: "+", "-" ou "=" => indica se a permissão sera adicionada (+), retirada (-) ou definida (=), indicada por um dos caracteres "r" (leitura), "w" (escrita) ou "x" (execução) indicando as permissões.
Exemplo:
# chmod joão=+rw /mp3
Este comando determina que o dono, o grupo e todos os outros usuários tenham permissão de leitura e escrita no diretório /mp3. Outro exemplo é dar permissão á um grupo e outros para escrever na diretório. Fica assim:
# chmod go-r /mp3
Desta forma o grupo e outros terão permissão somente de leitura as músicas que estão dentro da pasta.
Outra forma de usar o 'chmod' é usar números para definir as permissões. Exemplo:
chmod número arquivo
Onde "número" é formado por 3 algarismos,todos no intervalo de 0 a 7, de tal forma que a representação binaria com 9 dígitos deste número esteja relacionada aos modos de permissão como na tabela no inicio ou da seguinte forma:
0 = corresponda a permissão negada "-".
1 = corresponda a permissão concedida, pode ser de leitura, escrita ou execução.
Exemplo:
# chmod 640 /mp3
Onde 640 é corresponde a:
6 = dono ( é a soma do leitura(r) + escrita(w) ).
4 = grupo( é somente leitura(r) ).
0 = outro( não permissão de acesso a pasta(-) ).
Essa conversão octal <---> permissões é feita facilmente se você observar a seguinte tabela:
[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.
[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.
[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.
[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?
[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...
[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⁰