Entendento o comando chmod

Autor: JuiceMan

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)

Os modos de permissão no Unix

Quando executamos o comando "ls -l /" nos são mostrados todos
diretórios e arquivos na raiz do sistema, é fácil identificar nessas
listagens o nome, tamanho, data e dono dos diretórios e arquivos, mas
temos que observar estes 10 caracteres do inicio das linhas que
aparecem assim:

# ls -l /
3 drwxr-xr-x   2 root root 3072 2008-01-29 10:13 bin  
0 lrwxrwxrwx   1 root root 1024 2008-01-28 08:54 cdrom->media/cdrom

Observando, temos 3 classes de usuários que podem ter acesso aos arquivos:

  • o dono (a pessoa que criou o arquivo),
  • o grupo (usuários que são agrupados pelo administrador do sistema),
  • e os outros (todos os usuários conectados a rede).

Os 10 primeiros caracteres das linhas listadas acimas
pelo "ls -l" definem precisamente o que os usuários de cada classe
podem fazer com seus arquivos. Esses caracteres são chamados de modos
de permissão dos arquivos e se dividem em 4 grupos com 1, 3, 3 e 3
caracteres:

	     [1]    [r][w][x]    [r][w][x]    [r][w][x]
| | | |
tipo dono grupo outros

O primeiro caracter define o tipo de arquivo que pode ser:

  • "-" : significa um arquivo normal.
  • "d" : significa um diretório.
  • "l" : significa um ‘link’ simbólico.

Há outras possibilidades raramente utilizadas que são "b", "c", "p" ou "s".

Os outros 9 caracteres devem ser separados em 3 grupos de 3 caracteres como o exemplo acima, sendo:

  • o primeiro as permissões do dono do arquivo.
  • o segundo as permissões do grupo de usuários.
  • o terceiro as permissões de todos os outros usuários.

Em cada grupo, as permissões sempre aparecem na ordem:

  • r = leitura.
  • w = escrita-execução-deleção.
  • x = execução.

OBS: A permissão de leitura é sempre indicada com um "r".
A permissão de escrita é sempre indicada com um "w". A permissão de
execução é sempre indicada com um "x". Permissão negada é indicada com
um "-".

Exemplo:

# ls -l /
3 drwxr-xr-x 2 root root 3072 2008-01-29 10:13 bin
0 lrwxrwxrwx 1 root root 1024 2008-01-28 08:54 cdrom->media/cdrom

Observando o diretório "bin" temos as permissões drwxr-xr-x , que podemos interpretar como:

  • tipo = d (diretório)
  • dono = rwx (permissão total)
  • grupo = r-x (permissão de leitura e execução, não pode gravar nem deletar)
  • outros = r-x (permissão de leitura e execução, não pode gravar nem deletar)


OBS: Caso o tipo seja igual á "-" significa que é um arquivo comum.

Alterando as permissões de acesso a um arquivo

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.

-rw-r–r–   1 root  root  1200 2008-01–25 20:09 /mp3

2º (segundo):

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:

	       ---------------------------------------
número binário equiv. permissões
---------------------------------------
0 000 ---
1 001 --x
2 010 -w-
3 011 -wx
4 100 r--
5 101 r-x
6 110 rw-
7 111 rwx
---------------------------------------

Abaixo deixo uns exemplos.

Exemplos diversos

Permissões

Comando

Descrição

-r——–

chmod 400 arquivo

Somente o dono pode ler o arquivo, ninguém pode escrever.

-r–r–r–

chmod 444 arquivo

Todos podem ler o arquivo, ninguém pode escrever.

-rw-rw-rw-

chmod 666 arquivo

Todos podem ler e escrever no arquivo.

drwxrwxrwx

chmod 777 diretório

Todos podem ler, escrever, criar ou apagar arquivos do diretório.

drwx——

chmod 700 diretório

Somente o dono pode ler, escrever, criar ou apagar arquivos. Ninguém mais pode ter acesso a este diretório.

drwx-wx-wx

chmod 733 diretório

O dono tem acesso total ao diretório. Todos os outros usuários podem apenas escrever.


http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=7817

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s