Motivo do requisito para o gerenciamento de pacotes raiz

1

Em gerenciadores de pacotes como pacman e apt, a verificação de raiz é codificada na origem usando as verificações de guid. Por que isso acontece?

Um usuário não privilegiado pode compilar um programa - digamos, navegador chromium - do código-fonte para uma pseudo-raiz (dentro do diretório do usuário) e executá-lo. O usuário pode até baixar um binário pré-compilado e executá-lo. Por que não apenas permitir que o usuário use os gerenciadores de pacotes para instalar diretamente o software na pseudo-raiz (dentro do diretório inicial dos usuários) sem escalonamento de privilégios?

Os gerenciadores de pacotes do IMO devem requerer o sudo apenas ao gravar arquivos em um dir de propriedade do root. como / bin ou / etc.

Por favor, deixe-me saber se há algum problema de segurança que estou negligenciando.

Nota: Um pouco de pesquisa mostra que de fato existem gerenciadores de pacotes alternativos para o espaço do usuário. Gerenciamento de pacotes sem a necessidade de permissão de root link Gerentes de pacotes não-raiz

Minha pergunta ainda é - por que os gerenciadores de pacotes nativos não suportam esse caso de uso - teria sido uma implementação mais elegante.

    
por Sway 31.05.2016 / 16:24

2 respostas

4

Os gerenciadores de pacotes precisam ser executados como root porque o que eles fazem afeta todos os usuários.

IMO package managers should require sudo only when writing files to a dir owned by root. like /bin or /etc.

Eles também exigem acesso root para gerenciar o banco de dados de pacotes instalados.

Um gerenciador de pacotes que instala o software no diretório inicial do usuário não precisa ser executado como root.

Por que a maioria dos gerenciadores de pacotes não permite que você instale programas em seu diretório pessoal? Porque o gerenciamento de dependências é difícil. A maioria das pessoas subestima isso, na minha experiência. Quando o software é instalado em todo o sistema, há apenas um grupo de dependências a serem consideradas. Quando você mistura software de todo o sistema (pelo menos as bibliotecas necessárias para executar o gerenciador de pacotes!) E software somente de usuário, as dependências ficam muito mais difíceis de gerenciar.

    
por 01.06.2016 / 01:59
0

O gerenciador de pacotes é uma ferramenta poderosa para reparar e destruir o sistema.

É mais fácil pedir privilégios de root uma vez quando verificar todas as ações para permissão.

    
por 31.05.2016 / 16:37