Tipos de acessos a arquivos
O Linux suporta três tipos de acesso a arquivos e diretórios: leitura, escrita e execução, designados, respectivamente, pelas letras r (read), w (write) e x (executable).
O uso de permissões é bastante simples. Se a intenção é deixar o arquivo somente disponível para leitura, acesso r resolve o problema. O acesso w permite ao usuário apagar ou modificar o arquivo. Entretanto para modificar o arquivo a permissão de leitura deve estar habilitada, caso contrário o usuário não conseguirá ler o arquivo para que possa ser modificado. Se o arquivo for um programa executável ou um Shell Script, a permissão de execução x deve estar habilitada. Se o arquivo for um Shell Script a permissão de leitura deve estar habilitada. Para programas executáveis basta a permissão de execução estar ligada.
Para ver as permissões de um arquivo ou diretório basta utilizar o comando ls com a opção –l (long listing) que mostra todos os detalhes do arquivo.
Classes de Acesso a Arquivos
O Unix define três classes de acesso a arquivos cujos acessos podem ser especificados separ>adamente.
Acesso para |
Define permissões para |
dono(u) |
Usuário dono do arquivo |
grupo(g) |
o grupo a que pertence o arquivos |
outros(o) |
outros usuários que não sejam o dono nem pertençam ao grupo dono do arquivo |
Quando usamos o comando ls –l, obtemos a listagem dos arquivos com todos os seus detalhes. A primeira informação correspondente ao que chamamos de modo do arquivo, composto de 10 caracteres.
debian:~# ls -l
O primeiro caractere do modo arquivo apenas indica seu tipo (se é um arquivo regular, se é um diretório, se é um link,...). Os noves caracteres seguintes constituem três grupos de três caracteres. Em cada grupo o primeiro caractere representa a permissão de leitura r, o segundo a de escrita w e o terceiro a de execução x. Se a opção estiver desligada um hífen é mostrado, caso contrário o caractere correspondente será apresentado.
chmod – Ajustando Permissões de Arquivo
Sintaxe: chmod string-de-acesso[,...] arquivo
Para ajustar permissões em arquivos e diretórios (que é um arquivo que contem uma lista de arquivos), utilizando o comando chmod.
Parâmetros |
Significados |
string-de-acesso |
as strings de acesso definem que permissões serão dadas aos arquivos especificados no argumento arquivo do comando chmod |
arquivos |
Os nomes dos arquivos cujas permissões serão mudadas |
Exemplos:
#>> Habilita a permissão de leitura para o dono
debian:~# chmod u+r folha
debian:~# ls -l folha
-r-------- 1 bruno root 3 2009-11-21 23:39 folha
#>> Habilita escrita para o dono e leitura para o grupo
debian:~# chmod u+w,g+r folha
debian:~# ls -l folha
-rw-r----- 1 bruno root 3 2009-11-21 23:39 folha
#>> Habilita execução para o dono, remove leitura e
#>> habilita escrita no grupo e habilita leitura aos outros
debian:~# chmod u+x,g-r+x,o+r folha
debian:~# ls -l folha
-rwx--xr-- 1 bruno root 3 2009-11-21 23:39 folha
#>> Habilitar todas as permissões para todos
debian:~# chmod a=rwx folha
debian:~# ls -l folha
-rwxrwxrwx 1 bruno root 3 2009-11-21 23:39 folha
Nestes exemplos vimos que:
- Quando direitos são precedidos por ou sinal de mais + ou sinal de menos -, esses direitos são acrescidos ou removidos aos já existentes.
- Quando direitos são precedidos por um sinal de igual = , não importa os direitos existentes, estes que foram assim atribuídos valerão.
- Havíamos dito que u significa user, g significa grupo e que o significa outros, mas possivelmente deve ter percebido que a significa todos (all).