Como utilizar o chmod


Primeiramente gostaria de salientar que não sou o autor principal do conteúdo deste artigo. A minha intenção é de mostrar o que outros autores tem realizado (referenciando links para o conteúdo original) neste blog até como um guia pessoal para uso próprio e ainda compartilhar minhas anotações e pequenas modificações que realizo no conteúdo, desejando que possa ajudar mais alguém em algum lugar.
First and foremost, I take no credit for any of this post’s content. I am really just taking what others have done (which I have links to bellow) and am putting it on my blog for a personal reference and hopefully the small changes that I made to their guides will help someone somewhere.

Conteúdo copiado do link: http://www.vivaolinux.com.br/dica/Chmod-+-dicas

Exemplos de permissões nos arquivos:

drwxr-xr-x 19 root     root           4096 Jan  5 16:56 ../
-rwxr-xr-x  1 root     root           38812 Mar  9  2003 MAKEDEV*
-rw-r--r--  1 root     root           1162 Mar  9  2003 README.MAKEDEV
lrwxrwxrwx  1 root     root           4 Oct 15  2003 X0R -> null
crw-rw----  1 root     root           10, 175 Mar 25  2001 agpgart
crw-rw----  1 root     root           1,  10 Mar 25  2001 aio

O primeiro caractere da string indica o tipo de arquivo. Se for "d" representa um diretório, se for "-" equivale a um arquivo.
  • d: diretório
  • b: arquivo de bloco
  • c: arquivo especial de caractere
  • p: canal
  • s: socket
  • -: arquivo normal
É necessário ter um certo cuidado com as permissões. Por exemplo, do que adianta o usuário ter permissão de gravação se ele não tem permissão de leitura habilitada? Ele poderá ler o arquivo para poder modificá-lo? Não! De certo, isso tem utilidade em arquivos de log.

Fazendo associação com as letras r, w, x e o caractere -, vamos entender cada uma:
  • r: significa permissão de leitura (read);
  • w: significa permissão de gravação (write);
  • x: significa permissão de execução (execution);
  • -: significa permissão desabilitada.
Atenção:
  • ---: nenhuma permissão;
  • r--: permissão de leitura;
  • r-x: leitura e execução;
  • rw-: leitura e gravação;
  • rwx: leitura, gravação e execução.
Vamos supor que o arquivo estava assim:

crwxrwxrwx 1 root disk 37, 128 Dec 11 1995 nht0

Dessa forma ele está errado. Sua forma correta é:

crw-r----- 1 root disk 37, 128 Dec 11 1995 nht0

Usei o comando:

# chmod 640 nht0

Alterando as permissões de crwxrwxrwx para crw-r-----. Note que sempre as letras iniciais não mudam, ok?

O comando chmod -R seta as permissões no diretório e nos arquivos dentro dele.

Use assim:

$ chmod [número] [nomedoarquivo]

Exemplo:

# chmod 755 apache

Comando Número Permissão
chmod 000 ---------
chmod 400 r--------
chmod 444 r--r--r--
chmod 600 rw-------
chmod 620 -rw--w----
chmod 640 -rw-r-----
chmod 644 rw-r--r--
chmod 645 -rw-r--r-x
chmod 646 -rw-r--rw-
chmod 650 -rw-r-x---
chmod 660 -rw-rw----
chmod 661 -rw-rw---x
chmod 662 -rw-rw--w-
chmod 663 -rw-rw--wx
chmod 664 -rw-rw-r--
chmod 666 rw-rw-r--
chmod 700 rwx------
chmod 750 rwxr-x---
chmod 755 rwxr-xr-x
chmod 777 rwxrwxrwx
chmod 4711 -rws--x--x

Outro detalhe, os símbolos:
  • u: usuário
  • g: grupo
  • o: outros
  • a: totos
Para mostrar como essa combinação é feita, vamos supor que você deseje adicionar permissão de gravação no arquivo teste.txt para um usuário. Então o comando a ser digitado será:

$ chmod u+w teste.txt

O "u" indica que a permissão será dada a um usuário. O sinal de adição (+) indica que está sendo adicionada a permissão e "w" indica que a permissão que está sendo dada é de gravação.

Caso você queira dar permissões de leitura e execução ao seu grupo, o comando será:

$ chmod g+rw teste.txt

vamos supor que o arquivo teste.old deverá estar com todas as permissões disponíveis para o grupo. Podemos usar então:

$ chmod g=rwx teste.txt

Usar o chmod com valores numéricos é algo bastante prático. Em vez de usar letras como símbolos para cada permissão, usam-se números. Se determinada permissão é habilitada, atribui-se valor 1, caso contrário, atribui-se valor 0. Sendo assim, a string de permissões r-xr----- na forma numérica fica 101100000. Essa combinação de 1 e 0 é um número binário.

Mas temos ainda que acrescentar a forma decimal (ou seja, números de 0 a 9). Para isso, observe a tabela abaixo:

Permissão Binário Decimal
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7



O URL específico do gadget não foi encontrado



Comments