quinta-feira, 26 de maio de 2011

Linux: Entendendo o básico de CHMOD


Uma breve explicação sobre como adicionar permissões aos arquivos ou pastas usando os “números” que muita gente não entende. Primeiro vamos ententer o que cada número faz:

0 = nenhuma operação permitida
1 = permite execução de um arquivo ou acesso a uma pasta 
2 = permite escrever/alterar um arquivo/pasta
4 = permite apenas leitura

Todo arquivo tem permissão para o dono(owner), para o grupo(group) e para outros[world(são aqueles que não são o dono(claro) e não estão no grupo)].
Para definir as permissões que você quer para o arquivo/pasta, devemos somar os bits que você quer para cada classe.

Exemplos:
#1 Seu diretório “home” terá por padrão a permissão 711.
7 = 4 + 2 + 1 - você (o dono) pode ler/escrever/executar
1 = 1 - o grupo pode executar/acessar diretorio, mas nao podem ler nem escrever.
1 = 1 - outros podem executar/acessar diretorio, mas nao podem ler nem escrever.

#2 Seu diretório da web terá permissões 755:
7 = 4 + 2 + 1 - você (o dono) pode ler/escrever/executar
5 = 4 + 1 - o grupo pode executar/acessar diretorio/ler, mas nao pode escrever.
5 = 4 + 1 - outros podem executar/acessar diretorio/ler, mas nao pode escrever.

Tudo muito simples, você só precisa somar os números conforme a permissão necessária.
Há também uma outra maneira de se dar permissão usando o chmod, que algumas pessoas dizem ser mais simples e só fazem uso da mesma. Vejo as duas como simples.
É o seguinte, ao invés dos números usaremos “letras”.
Para definir qual o tipo de pessoa que irá ter permissão, utilizaremos as seguintes:
"u" - para dono (owner)
"g" - para groupo (group)
"o" - para outros (others)
"a" - para todos (all) 

Os operadores serão:
"+" - para adicionar 
"-" - para remover
"=" - define para todos, todas as permissões que o arquivo/pasta terão.
Caso não seja definido nenhum valor, ele apagará todas as permissões.
obs: Mesmo que coloque =rwx(sem definir usuario)ele nunca dará permissão
de escrita para grupo e outros, só para o dono.

As permissões são:
"r" - para leitura(read)
"w" - para escrita(write)
"x" - para execução(execute)

Seguem alguns exemplos:
chmod u=rx arquivo - Da permissão de leitura e execução para o dono
chmod go-r arquivo - Retira permissão de leitura do groupo e dos outros
chmod g+w arquivo - Adiciona permissão de escrita para o grupo
chmod a+x arquivo1 arquivo2 - Adiciona permissão de execução para todos
chmod g+rx,o+x arquivo - Adiciona permissão para o grupo de leitura e
execução e para outros apenas execução
 
Bem, estão ai as duas maneiras possíveis, cabe agora a vocês escolherem a melhor! Lembrando sempre que isso é apenas o “básico” caso queria entender melhor o chmod use o comando man.

Fonte: Hack.net.br

0 comentários:

Postar um comentário

Twitter Delicious Facebook Digg Stumbleupon Favorites More