Este artigo traz uma abordagem bastante completa sobre o sistema de permissões no Linux. Ele ensina, desde a teoria por trás das permissões, até os comandos usados para se manipulá-las. Tudo bastante ilustrado e exemplificado.
Pelo fato do Linux representar tudo como se fosse um arquivo, surgiu a necessidade de se dividir os arquivos em tipos distintos. Assim sendo, surgiram os sete tipos de arquivos que existem atualmente no Linux. São eles:
Arquivos comuns. São, por exemplo, arquivos de texto, arquivos de dados e arquivos binários.
Diretórios. São arquivos que contêm nomes de outros arquivos que estão armazenados ou organizados em grupos.
Links. São arquivos que fazem referência a outros arquivos dentro do sistema de arquivos. São subdivididos em hard (diretos) e soft (simbólicos) links.
Caractere. São arquivos que representam dispositivos físicos -hardware- que podem ser acessados seqüencialmente, como portas paralelas e/ou seriais. Na verdade, são uma subdivisão dos device files -arquivos de dispositivos.
Bloco. São arquivos que representam dispositivos físicos que podem ser acessados em blocos de bytes, como o HD. Assim como os arquivos do tipo caractere, são uma subdivisão dos arquivos de dispositivos.
Sockets. São arquivos utilizados para comunicação entre processos.
Pipes. Também são arquivos utilizados para a comunicação entre processos.
Normalmente, estes sete tipos são associados, cada um a um caractere, para sua identificação. São eles: Arquivos comuns (-), diretórios (d), links (l), caractere (c), bloco (b), sockets (s) e pipes (p). A figura 06 mostra uma tabela com os caracteres designados para cada tipo de arquivo.
Há, ainda, uma notação alternativa que designa símbolos para alguns tipos de arquivos. São eles: Arquivos comuns com permissão de execução (*), diretórios (/), links (@), sockets (=) e pipes (|).