Já passei muita raiva para configurar ftps, sambas, apaches, softwares e outras coisas sem saber utilizar corretamente as permissões.
Para visualizarmos as permissões utilizamos o comando: ls -l
Ex:
[vitor@house ~]$ ls -l
drwxrwxr-x 2 vitor vitor 4096 May 29 10:08 atualiz
-rw-r--r-- 1 root root 150160346 Dec 14 2006 Backup-14-12.tgz
-rw-r--r-- 1 vitor vitor 297048461 Feb 27 00:45 Backup.tgz
As permissões são: Leitura(r), Escrita(w) e Execução(x)
Estas permissões quando aplicadas a um diretório, a permissão de Leitura libera a listagem dos arquivos, a permissão de Escrita se refere a criação e exclusão de arquivos. A Execução se aplica ao acesso ao diretório.
Elas são distribuídas da seguinte forma: _rwxrwxrwx
São divididas em quatro partes, a primeira, que é o primeiro caracter se refere ao tipo de arquivo:
d = diretório
b = arquivo de bloco
c = arquivo especial de caractere
p = canal
s = socket
- = arquivo normal
l = link
A segunda parte que são os três próximos caracteres se referem às permissões do dono do arquivo(rwx), a terceira são as permissões do grupo do arquivo (normalmente é o grupo do usuario que criou o arquivo) e a quarta e última se refere aos demais usuários do sistema.
Exemplos:
-rwxrwxrwx vitor testes = todos os usuários do sistema tem permissão total para manipular este arquivo
-rwxr-xr-- vitor testes = apenas o vitor pode alterá-lo ou excluí-lo ler executar, os usuarios do grupo testes podem apenas ler e executar e os demais usuários podem apenas ler.
drwxr-xr-x vitor testes = o vitor pode entrar, listar e alterar, os usuarios do grupo testes podem apenas entrar e listar, e os demais usuários também apenas entram e listam.
Para alterar uma permissão utilizamos o comando: "chmod", para alterar o dono do arquivo ou o grupo do arquivo utilizamos o comando: "chown" e para alterar o grupo utilizamos: "chgrp".
Infowester: "Para ter uma visão mais clara da forma simbólica com o chmod, imagine que tais símbolos se encontram em duas listas, e a combinação deles gera a permissão:
Lista 1
Símbolo
u => usuário
g => grupo
O (letra o maiúscula) => outro
a => totos
Lista 2
Símbolo
r => leitura
w => gravação
x => execução
Para poder combinar os símbolos destas duas listas, usam-se os operadores:
+ (sinal de adição) => adicionar permissão
- (sinal de subtração) => remover permissão
= (sinal de igualdade) => definir permissão"
Para mostrar como essa combinação é feita, vamos supor que você deseje adicionar permissão de gravação no arquivo teste.old para um usuário. Então o comando a ser digitado será:
chmod u+w teste.old
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.old
Agora, 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.old
Dica: crie arquivos e diretórios e teste a combinação de permissões com chmod. Isso lhe ajudará muito no entendimento deste conceito.
Usando chmod com o método numérico
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 |
Se você não conhece o sistema binário deve estar se perguntando o que esse "monte" de 0 e 1 tem a ver com os números de 0 a 7. Como o sistema binário somente trabalha com os números 0 e 1 (decimal trabalha com os números de 0 a 9, ou seja, é o sistema de numeração que utilizamos no nosso dia-a-dia), ele precisa de uma seqüência para representar os valores. Sendo assim, na tabela acima, a coluna Binário mostra como são os valores binários dos números de 0 a 7 do sistema decimal.
Chegou a hora então de relacionar a explicação do parágrafo acima com a coluna Permissão. Para exemplificar, vamos utilizar a permissão rw-, cujo valor em binário é 110, que por sua vez, em decimal corresponde ao número 6. Então, em vez de usar rw- ou 110 para criar a permissão, simplesmente usa-se o número 6. Repare então que com o método numérico, usamos somente um dígito para representar uma permissão, ao invés de três. Com isso a string de permissões r--r--r-- pode ser representa por 444, pois r-- em decimal é igual a quatro. Observe o exemplo abaixo:
chmod 600 notas.txt
Acima, estão sendo dadas as permissões rw------- ao arquivo notas.txt, pois 6 equivale a rw- e 0 equivale a ---. Como zero aparece duas vezes, forma-se então o valor 600. Faça o comando acima com um arquivo de teste e depois digite ls- l notas.txt e veja o que aparece (notas.txt deve ser substituído pelo arquivo que você está usando para teste). A tabela abaixo mostra as configurações de permissões mais usadas:
--------- | 000 |
r-------- | 400 |
r--r--r-- | 444 |
rw------- | 600 |
rw-r--r-- | 644 |
rw-rw-r-- | 666 |
rwx------ | 700 |
rwxr-x--- | 750 |
rwxr-xr-x | 755 |
rwxrwxrwx | 777 |
(Infowester, 2007. LINK)
Fontes: Infowester, Devin, JulioBattisti
Nenhum comentário:
Postar um comentário