Cassic

Tipos de acessos a arquivos

Autor: Bruno Lopes


  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).