Permissões do sistema de arquivos Linux


As permissões de arquivo controlam o acesso aos arquivos. As permissões de arquivos Linux são simples, mas flexíveis e capazes de lidar com a maioria dos casos normais de permissão.

Os arquivos possuem três categorias de usuário às quais as permissões se aplicam. O arquivo é de propriedade de um usuário, normalmente o criador. O arquivo também é de propriedade de um único grupo, geralmente o grupo primário do usuário que criou o arquivo, mas isso pode ser alterado.

Você pode definir permissões diferentes para o usuário proprietário (permissões do usuário), o grupo proprietário (permissões do grupo) e todos os outros usuários do sistema que não sejam nem o usuário, nem um membro do grupo proprietário (outras permissões).

As permissões mais específicas têm prioridade. As permissões de usuário substituem as permissões de grupo, que substituem outras permissões.

Como exemplo de como a associação ao grupo facilita a colaboração entre usuários, imagine que seu sistema tem dois usuários: alice e bob. alice é membro dos grupos alice e web, e bob é membro dos grupos bob, wheel e web. Quando alice e bob colaboram, os arquivos deverão ser associados ao grupo web, e as permissões de grupo deverão permitir o acesso aos arquivos para ambos os usuários.

Três categorias de permissões se aplicam: leitura, gravação e execução. A tabela a seguir explica como essas permissões afetam o acesso a arquivos e diretórios.

Os usuários normalmente têm as permissões de leitura e execução em diretórios somente leitura para que possam listar o diretório e tenham acesso somente leitura a todo o conteúdo dele. Se um usuário tiver apenas acesso de leitura em um diretório, ele poderá listar os nomes dos arquivos nele. No entanto, o usuário não pode acessar outras informações, como permissões ou carimbos de data e hora. Se um usuário tiver apenas acesso de execução em um diretório, ele não poderá listar os nomes de arquivo no diretório. Se ele souber o nome de um arquivo que tem permissão para ler, poderá acessar o conteúdo desse arquivo de fora do diretório especificando explicitamente o nome do arquivo relativo.

Qualquer pessoa que seja proprietária ou tenha permissão de gravação no diretório pode remover arquivos dele, independentemente da propriedade ou das permissões do próprio arquivo. Você pode substituir esse comportamento usando a permissão sticky bit, que será discutida posteriormente neste capítulo.

As permissões de arquivo do Linux funcionam de maneira diferente das permissões do sistema de arquivos NTFS para Microsoft. No Linux, as permissões se aplicam apenas ao arquivo ou diretório no qual elas estão definidas. Os subdiretórios dentro de um diretório não herdam automaticamente as permissões do diretório pai. No entanto, as permissões de diretório podem bloquear o acesso ao conteúdo do diretório, se definidas de maneira restritiva.

A permissão read em um diretório do Linux é equivalente a List folder contents no Windows. A permissão write em um diretório do Linux é semelhante a Modify no Windows. Ela pressupõe a capacidade de excluir arquivos e subdiretórios. No Linux, com permissões write e a sticky bit em um diretório, somente o usuário ou grupo proprietário podem excluir arquivos, o que é semelhante ao comportamento do Write no Windows.

O usuário root do Linux tem o equivalente à permissão Full Control do Windows em todos os arquivos. No entanto, a política do SELinux pode usar contextos de segurança de arquivos e processos para restringir o acesso até mesmo ao usuário root. O SELinux é discutido no curso Red Hat System Administration II (RH134).

Referências