Como o sistema de privilégios de arquivos do Unix difere daquele do Windows?

7

Pergunta relacionada: Como o Linux sistema de arquivos / organização diferem do Windows?

Estou familiarizado com a forma como os privilégios funcionam quando se trata de arquivos e diretórios - cada entrada possui uma propriedade owner e group que representa o proprietário do arquivo e o grupo ao qual o proprietário pertence (corrija-me se Eu estou errado).

Como isso difere da organização de permissões no sistema de arquivos NTFS no Windows? Quais vantagens o sistema de permissão do Unix tem sobre o NTFS?

    
por Nathan Osman 21.05.2011 / 21:53

2 respostas

12

O NTFS possui ACEs do Windows. O Unix usa "bits de modo" em cada arquivo.

No NTFS, cada arquivo pode ter um proprietário e zero ou mais entradas de controle de acesso (ACEs) do Windows. Uma ACE consiste em um principal (usuários e grupos são principais), um conjunto de operações (Leitura, Gravação, Execução etc.) e se essas operações são permitidas ou negadas. Arquivos podem ter muitas ACEs. Outros objetos no Windows além de arquivos também podem ter ACEs, como entradas de registro, objetos de impressora e outras coisas. Todas as ACEs são levadas em conta quando ocorre uma operação de arquivo. Negar tem precedência sobre permitir.

As ACEs do Windows suportam herança, onde você pode definir uma ACE para um diretório e fazer com que ela seja automaticamente propagada para diretórios de nível inferior.

Os arquivos no Unix têm um usuário proprietário (proprietário) e um grupo proprietário (grupo-proprietário). Existem três "diretores" fixos que são proprietários, membros do grupo proprietário e todos os outros (como um mundo). Para cada principal, há três "bits" que abrangem habilidades de leitura, gravação e execução. (estes têm significados diferentes para diretórios que arquivos, veja isto ). Esses bits determinam quem pode executar quais operações. Isso é chamado de modo do arquivo e está embutido no arquivo (não há ACEs separadas).

Na maioria das vezes, você está preocupado com as permissões do "mundo", ou seja, definir todos os três bits como 0 para "mundo" significa que ninguém que não seja o proprietário ou o proprietário do grupo pode fazer nada com o arquivo. As permissões do Unix só funcionam no sistema de arquivos, mas como a maioria dos objetos aparecem como arquivos, você pode usar permissões para restringir o acesso a discos, impressoras, etc. As permissões do Unix são mais simples, porém mais "grosseiras". As permissões Unix não suportam herança e não afetam os diretórios de nível inferior, com exceção da permissão de execução para diretórios (eu acho) que faz com que os arquivos recém-criados assumam permissões do diretório (mas não afetam os arquivos atualmente criados). p>

Tradicionalmente, os arquivos Unix têm um único proprietário e um único grupo de proprietários. Existem extensões para o Linux que adicionam ACEs aos arquivos de maneira semelhante ao Windows.

A vantagem do Unix é apenas que um sistema mais simples é geralmente mais fácil de entender e seguro, além de ser mais rápido, já que o sistema de arquivos não precisa buscar ACEs além de inodes ao abrir arquivos.

    
por 21.05.2011 / 22:21
5

Uma coisa bem diferente é que "executável" é uma permissão no Linux / Unix, não baseada no nome ou na extensão do arquivo.

Esta é uma vantagem sobre o Windows, em que no Linux você pode garantir que algo não seja executado removendo permissões executáveis. Nenhuma extensão mágica é importante. Esta é provavelmente uma das razões pelas quais os vírus de arquivos tradicionais não existem em nenhum lugar no Unix e no Linux.

    
por 22.05.2011 / 00:21