O Linux tem algo equivalente às permissões do Android?

6

Gostaria de saber se o Linux / Unix tem algo equivalente ao sistema de permissões do Android

No Android, há permissões que um aplicativo precisa solicitar e que um usuário verá e precisará aprovar quando instalar um novo aplicativo (por exemplo, há permissões para a câmera e para acessar a rede)

    
por sunyata 21.12.2016 / 07:57

2 respostas

3

O que você está procurando é chamado Controle de acesso obrigatório , ou MAC. O Android permite isso por padrão e é strongmente integrado às APIs do usuário, mas as tecnologias que estão na base do MAC no Android (ou seja, SELinux) são parte do kernel padrão do Linux. Além disso, existe um outro quadro para MAC chamado AppArmor, que o Android não usa, mas que tem características semelhantes.

Configurar o SELinux ou o AppArmor não é para os fracos de coração. No entanto, muitas distribuições são fornecidas com as políticas SELinux e / ou AppArmor padrão que você pode usar. Por exemplo, o Ubuntu vem com o AppArmor ativado por padrão, e o RHEL / CentOS vem com alguns conjuntos de regras do SELinux que você pode escolher, com o menos restritivo do conjunto sendo ativado por padrão. O Debian também tem um conjunto de regras do SELinux que vem com ele, mas não está habilitado por padrão, e não é tão bem testado com o SELinux.

A maioria das distribuições enviadas com o MAC ativado não tem um conjunto muito restritivo de regras; afinal de contas, se isso atrapalhar muito, as pessoas vão desativá-lo e você não colherá os benefícios. No entanto, é certamente possível habilitar um conjunto mais restritivo de regras - isso apenas significa que você pode precisar depurar as coisas um pouco mais, já que a maioria dos aplicativos na área de trabalho do Linux não são testados com o MAC ativado.

Um recurso de alguns conjuntos de regras do SELinux é o "sandbox do SELinux". Se você usar isso, os aplicativos executados dentro dele terão pouquíssimas permissões. Isso pode ser útil para testar um aplicativo sem o risco de se comportar mal e comer seus arquivos. Para mais informações, leia o link .

    
por 21.12.2016 / 10:15
3

Aviso: não é um desenvolvedor Android!

Você não pode realmente comparar os sistemas como esse. Embora o Android use o kernel Linux, o sistema operacional funciona de maneira diferente de uma distribuição GNU / Linux "normal".

Os aplicativos do Android são executados em um ambiente de sandbox , sem nenhum direito tudo fora desse ambiente. É por isso que os aplicativos devem solicitar permissão para acessar outras partes do sistema Android durante a instalação.

Uma distribuição GNU / Linux "normal" não funciona dessa maneira. Quando você instala um programa normal (GIMP, por exemplo), ele executa não em um ambiente de sandbox. Assim, você não precisa conceder acesso ao GIMP para acessar seus arquivos.

Quando determinados programas em uma distribuição "normal" quiserem fazer algo que requeira permissões elevadas ( root ) (um gerenciador de pacotes, por exemplo), você terá que conceder acesso a esse programa para executar determinada tarefa digitando a senha root . Mas para programas "normais", isso não é necessário.

Espero que as coisas acima tenham feito pelo menos um pouco de clererer! Talvez alguém com um conhecimento mais profundo do Android apareça e escreva uma resposta mais detalhada.

Aqui é uma ótima resposta do @Stephen Kitt sobre permissões no GNU / Linux.
Aqui é um link sobre como as permissões trabalhar no Android.

    
por 21.12.2016 / 08:51