Unidade C - Gerenciamento de Arquivos

Permissões de acesso

Todos os sistemas operacionais baseados em Unix, herdaram seu rigoroso (e muito eficiente) método de controle de permissões de arquivos e diretórios. Desta forma, precisamos compreender o funcionamento deste mecanismo.

Premissas:

Vendo informações

Para ver as permissões de arquivos e diretórios em aluma pasta, precisamos executar o comando “ls -l”. este comando irá retornar a lista de arquivos e diretórios mostrando as permissões e os usuários do arquivo. Como no exemplo abaixo:

drwxr-xr-x 3 aluno1 aluno1
4096
2010-03-10 17:27
anjuta
-rwxr-xr-x 1 aluno1 aluno1
6392
2010-06-02 16:43
a.out
-rw-r--r-- 1 aluno1 aluno1
73
2010-06-02 16:43
teste.c
drwxr-xr-x 3 aluno1 alunos
4096
2011-04-25 09:34
enquete
-rwxr--r-- 1 aluno1 alunos
892
2010-03-20 00:15
fila.py

primeiro campo – o primeiro campo identifica se o objeto é um arquivo ( - ) ou um diretório ( d );
segundo campo – permissões para usuário, grupo e outros – sempre em conjunto de 9 sinais;
terceiro campo - contagem de hard links ;
quarto e quinto campos – usuário e grupo do arquivo ou diretório;
sexto campo – tamanho do arquivo; se for um diretório informa quantos bytes usamos para armazenar o nome do diretório em disco;
sétimo campo – data e hora da criação do objeto;
oitavo campo – nome do objeto.

Dono e grupo

Todo arquivo ou diretório pertence a algum dono e a algum grupo. Desta forma podemos definir quem é o proprietário do arquivo e qual grupo ele irá pertencer, para depois definir qual a permissão que cada um destes participantes terão sobre o arquivo.

Como visto no item anterior, o dono e o grupo são mostrados pelo comando ls -l – noquarto e quinto campo respectivamente. É possível (e muitas vezes necessário) modificar o dono de algum arquivo ou diretório.

Para executar estes testes, basta criar (como root) uma pasta chamada teste na raiz;

Entendendo as permissões

As permissões determinarão o tipo de acesso que cada usuário terá em determinado arquivo ou diretório. Após o identificador de arquivo/diretório, teremos 3 campos para cada tipo de usuário.

U

G

O

rwx

rwx

rwx

 

Onde:

Cada permissão pode ser incluída ou removida (se preferir ativada/desativada), modificando a forma de acesso. Esta modificação de permissão se dá com o comando "chmod" - acrônimo de "change mode" ou mudar modo de acesso.

De forma mais prática, vamos criar um arquivo teste qualquer – vazio mesmo.
$ touch teste

Ao darmos o comando ls -l verificamos as permissões deste arquivo que são as seguintes:
-rwxr-xr-x

Dividindo os códigos vemos que:

"-" - indica que é um arquivo;
"rwx" - que o usuaŕio tem permissão de leitura, escrita e execução;
"r-x" - indica que o grupo tem permissão somente de leitura e execução;
"r-x" - indica que outros tem permissão somente de leitura e execução;

Vamos supor que este arquivo é um arquivo muito confidencial... precisamos fazer algumas modificações:

Bloqueando acesso aos outros:
→ $ chmod o-rwx teste

Desta forma dizemos outros perdem leitura escrita e execução – somente dono e grupo poderão ler/escrever/executar o arquivo;

Vamos supor que este arquivo é um arquivo muito confidencial... precisamos fazer algumas modificações:

 

 

Guia FOCA Linux; 10.10 Modo de permissão octal. Disponível em: http://www.guiafoca.org/cgs/guia/inic_interm/ch-perm.html#s-perm-octal

 

 

Permissões em diretório

O mecanismos de manipulação de permissões para diretórios é o mesmo de arquivos. Contudo a função de cada permissão é diferente.

Vale salientar que o usuário root está acima destas permissões, tanto que em sistema Unix, é conhecido como "superusuário". Esta característica confere ao root poder total sobre o sistema.

 

 

Não use o usuário administrador para funções corriqueiras. A conta de root é dedicada à administração do sistema.