Sie sind auf Seite 1von 4

Chmod + dicas

By sc4rf4c3@post.com

Usando e entendendo permisses no Linux


Resolvi montar essa pequena dica, sei que j existem vrias, porm vou colocar algumas dicas do chmod, porque onde trabalho fizeram o favor de setar um chmod -R 777 na pasta /, a o servidor ficou com permisso errada para todos os arquivos, tive que setar as permisses arquivo por arquivo comparando com outra mquina com mesmo sistema Slackware, pois no podamoss desligar o servidor. Exemplos de permisses nos arquivos: drwxr-xr-x 19 root root -rwxr-xr-x 1 root root -rw-r--r-- 1 root root lrwxrwxrwx 1 root root crw-rw---- 1 root root crw-rw---- 1 root root drwxr-xr-x 2 root root crw-r--r-- 1 root root crw-rw---- 1 root root drwxr-xr-x 2 root root crw-rw---- 1 root sys crw-rw---- 1 root root crw-rw--w- 1 root sys crw-rw--w- 1 root sys brw-r----- 1 root disk crw-r--r-- 1 root root drwxr-xr-x 2 root root lrwxrwxrwx 1 root root brw-r----- 1 root disk crw-rw---- 1 root root 4096 Jan 5 16:56 ../ 38812 Mar 9 2003 MAKEDEV* 1162 Mar 9 2003 README.MAKEDEV 4 Oct 15 2003 X0R -> null 10, 175 Mar 25 2001 agpgart 1, 10 Mar 25 2001 aio 4096 Jun 11 2002 amiraid/ 10, 134 Jun 7 1996 apm_bios 36, 8 Mar 25 2001 arpd 4096 May 19 2002 ataraid/ 10, 3 Jul 17 1994 atibm 10, 186 Mar 25 2001 atomicps 14, 4 Jul 18 1994 audio 14, 20 Jul 18 1994 audio1 29, 0 Feb 15 1995 aztcd 10, 128 May 24 1996 beep 36864 Jun 3 2002 cciss/ 8 Oct 15 2003 cdrom -> /dev/hdd 24, 0 Jul 18 1994 cdu535 67, 0 Mar 25 2001 cfs0

O primeiro caractere da string indica o tipo de arquivo. Se for "d" representa um diretrio, se for "-" equivale a um arquivo.

d: diretrio b: arquivo de bloco c: arquivo especial de caractere p: canal s: socket -: arquivo normal

necessrio ter um certo cuidado com as permisses. Por exemplo, do que adianta o usurio ter permisso de gravao se ele no tem permisso de leitura habilitada? Ele poder ler o arquivo para poder modific-lo? No! De certo, isso tem utilidade em arquivos de log. Fazendo associao com as letras r, w, x e o caractere -, vamos entender cada uma:

r: significa permisso de leitura (read); w: significa permisso de gravao (write); x: significa permisso de execuo (execution); -: significa permisso desabilitada.

Ateno:

---: nenhuma permisso; r--: permisso de leitura; r-x: leitura e execuo; rw-: leitura e gravao; rwx: leitura, gravao e execuo.

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 permisses de crwxrwxrwx para crw-r-----. Note que sempre as letras iniciais no mudam, ok? O comando chmod -R seta as permisses no diretrio e nos arquivos dentro dele, cuidado com isso, foi o que fizeram aqui no meu servidor. Use assim: $ chmod [nmero] [nomedoarquivo] Exemplo: # chmod 755 apache Comando Nmero Permisso

chmod chmod chmod chmod chmod chmod chmod chmod chmod chmod chmod chmod chmod chmod chmod chmod chmod chmod chmod chmod chmod Outro detalhe, os smbolos:

000 400 444 600 620 640 644 645 646 650 660 661 662 663 664 666 700 750 755 777 4711

--------r-------r--r--r-rw-------rw--w----rw-r----rw-r--r--rw-r--r-x -rw-r--rw-rw-r-x---rw-rw----rw-rw---x -rw-rw--w-rw-rw--wx -rw-rw-r-rw-rw-r-rwx-----rwxr-x--rwxr-xr-x rwxrwxrwx -rws--x--x

u: usurio g: grupo o: outros a: totos

Para mostrar como essa combinao feita, vamos supor que voc deseje adicionar permisso de gravao no arquivo teste.txt para um usurio. Ento o comando a ser digitado ser: $ chmod u+w teste.txt O "u" indica que a permisso ser dada a um usurio. O sinal de adio (+) indica que est sendo adicionada a permisso e "w" indica que a permisso que est sendo dada de gravao. Caso voc queira dar permisses de leitura e execuo ao seu grupo, o comando ser: $ chmod g+rw teste.txt vamos supor que o arquivo teste.old dever estar com todas as permisses disponveis para o grupo. Podemos usar ento:

$ chmod g=rwx teste.txt Usar o chmod com valores numricos algo bastante prtico. Em vez de usar letras como smbolos para cada permisso, usam-se nmeros. Se determinada permisso habilitada, atribui-se valor 1, caso contrrio, atribui-se valor 0. Sendo assim, a string de permisses r-xr----- na forma numrica fica 101100000. Essa combinao de 1 e 0 um nmero binrio. Mas temos ainda que acrescentar a forma decimal (ou seja, nmeros de 0 a 9). Para isso, observe a tabela abaixo: Permisso Binrio Decimal --000 0 --x 001 1 -w010 2 -wx 011 3 r-100 4 r-x 101 5 rw110 6 rwx 111 7 Pra quem est comeando agora vai ser um pouco complicado entender de uma vez isto, porm se voc possui uma maquina com Linux, treine.

Das könnte Ihnen auch gefallen