12 de agosto de 2008

Permissões de Arquivos: Checagem


A forma mais simples e mais usada para verificar as permissões de um arquivo, bem como o seu tipo, em sistemas Unix-like, é através do comando ls. Este é um comando bastante conhecido no Linux que serve para listar arquivos dentro do sistema.

Modo Texto
Para que se possa verificar as permissões e o tipo dos arquivos, é necessário passar alguns parâmetros para o programa (na verdade, o único parâmetro necessário para exibição das permissões é o -l). Um exemplo de listagem bastante usual leva três parâmetros. O primeiro é o -l, que possibilita a visualização do tipo do arquivo, suas permissões, nome do dono, nome do grupo do dono, tamanho do arquivo e algumas outras coisas. O segundo parâmetro é o -a e este permite que arquivos ocultos sejam listados (arquivos ocultos são aqueles cujos nomes se iniciam com um ponto). O terceiro e último parâmetro, -F, faz com que a notação alternativa de tipos de arquivos seja exibidas na listagem como sufixos (veja a postagem sobre Tipos de Arquivos).

Assim sendo, basta digitar o comando abaixo para que todas as informações sobre tipo do arquivo e sobre suas permissões sejam exibidas:

$ ls -laF

A figura 1 mostra um exemplo da saída gerada pelo comando acima.
Figura 1. Exemplo de saída do comando especificado.

Pode-se perceber que a listagem é feita em várias colunas. A primeira coluna da esquerda para a direita exibe o tipo de arquivo e suas permissões. Na sequência, a segunda coluna exibe, no caso de diretórios, a quantidade de sub diretórios dentro dele ou 1 em caso contrário [1]. A terceira e a quarta exibem, respectivamente, o nome do dono e o grupo principal ao qual ele pertence. A quinta mostra o tamanho do arquivo em bytes. A sexta e a sétima exibem, respectivamente, a data e a hora da criação/última modificação do arquivo [1]. Por último, na oitava coluna é exibido o nome do arquivo. No caso de o arquivo ser um link, há uma nona coluna que exibe o caminho para onde ele aponta.

Observando apenas a primeira coluna, pode-se notar que, dos dez caracteres que a compõem, do segundo ao décimo, são exibidos os bits de proteção do arquivo. Os bits que estiverem ativados serão exibidos em sua notação simbólica (r, w, x) e os que estiverem desativados serão exibidos como um traço (não confundir com o traço que determina se um arquivo é do tipo comum).

É interessante notar que nesta listagem, à primeira vista, não são exibidos os bits de atributos dos arquivos, apenas os bits de proteção. Entretanto, estes bits, caso estejam ativados, são exibidos na primeira coluna da listagem. Tomando em consideração apenas esta coluna e lendo-a da esquerda para a direita, no quarto caractere (o que indica a permissão de execução do arquivo para o seu dono), caso o bit setuid esteja ativado, em vez de um x, naquela posição será exibido um s. Mas dessa forma, como saber se o arquivo possui permissão de execução pelo seu dono? Simples. Caso seja exibido um S maiúsculo, a permissão de execução pelo dono estará desativada. Caso esta permissão esteja ativada, será exibido um s minúsculo.

De forma análoga, o sétimo caractere desta coluna (o que define a permissão de execução do arquivo pelos membros do grupo do seu dono) exibe um s caso o bit setgid esteja ativado, seguindo a mesma lógica de maiúsculo/minúsculo. Igualmente, no décimo e último caractere da coluna, que define a permissão de execução do arquivo pelos outros usuários do sistema, é exibido um t indicando se o bit sticky está ativado. Ele também segue a lógica de maiúsculo/minúsculo explicada anteriormente.

Modo Gráfico
Apesar da checagem das permissões dos arquivos não ser muito complicada sob o modo texto, é possível visualizá-las no modo gráfico. No GNOME, por exemplo, basta abrir o Nautilus, seu gerenciador de arquivos, acessar a opção de menu View e marcar a subopção List, o que fará com que os arquivos sejam exibidos como uma lista. Então dever-se-á acessar novamente a opção View e selecionar a subopção Visible Columns.... Isto abrirá uma janela de com vários itens para serem selecionados. Então o leitor deverá selecionar o item Permissions. Feito isso, uma coluna com as permissões dos arquivos listados, semelhante à da listagem do comando ls, será adicionada. A figura 2 exemplifica esta listagem.
Figura 2. Nautilus exibindo permissões de arquivos.

Conclusão
A checagem de permissões não é complicada e funciona de forma similar em sistemas Unix-like, como Linux e OS X. Contudo, só faz sentido checar as permissões para quem sabe o que as mesmas significam. Por isso o autor recomenda a leitura das postagens anteriores sobre o assunto.


[1] Guia Foca GNU/Linux – Disponível em http://focalinux.cipsga.org.br.

Série Completa

Nenhum comentário:

Postar um comentário