Se as listas de pacotes pudessem ser modificadas por usuários normais, seria trivialmente fácil enganar o sistema de pacotes na instalação de algum outro pacote, se o superusuário não fosse atualizado novamente antes da instalação.
Por que preciso de privilégios de root para atualizar minha lista de pacotes de gerenciadores de pacotes?
Oi,
Sempre me perguntei por que preciso de privilégios de root para atualizar minha lista de pacotes de gerenciadores de pacotes?
Estou ciente de que os privilégios são necessários para acessar os bancos de dados localizados nos diretórios designados.
Mas por que eu não posso nem verificar se há atualizações sem raiz?
Não afeta outros usuários. (Eu acho) Estar ciente das atualizações pendentes pode ser uma falha de segurança, mas a versão instalada e a mais nova podem ser detectadas facilmente de outras maneiras.
Qual é o motivo aqui?
Esse comportamento é afaik bastante comum. Fedora, Ubuntu, Debian e Arch têm esse comportamento, provavelmente muitas outras distribuições o fazem.
Se as listas de pacotes pudessem ser modificadas por usuários normais, seria trivialmente fácil enganar o sistema de pacotes na instalação de algum outro pacote, se o superusuário não fosse atualizado novamente antes da instalação.
Um motivo pelo qual a etapa de sincronização / atualização é privilegiada é porque o UID / GID do processo que está fazendo a atualização deve poder fazer alterações na árvore de diretórios do pacote. Sim, isso poderia ser feito usando um serviço ou set [gu] id executável, mas é tão fácil (e mais fácil de gerenciar) restringir a função para pessoas que têm permissão para gerenciar o sistema: outras pessoas não deveriam estar mexendo com tarefas administrativas em primeiro lugar!
Se você quiser apenas ver quais pacotes seriam atualizados, essa é uma questão separada. A maioria das distribuições permite que você finja / simule uma atualização, o que geralmente não requer privilégios. Para o Gentoo (o que eu uso), seria emerge -up @world
: verifique o gerenciador de pacotes da sua distro para uma opção equivalente.