FlavioMachado em 19/03/2009 às 10:43 am

Vou aproveitar o espaço, pois sempre há usuários e desenvolvedores do Arch por aqui, para fazer uma pergunta:

Usei o AUR para compilar alguns pacotes que não estão na base principal (aliás, só tem no AUR). Uma das coisas que percebi é que não tem como especificar o usuário dos pacotes, são sempre gerados como ROOT na hora de compactar o diretório PKG para gerar o pacote compilado. É isso mesmo? Isso não gera problemas de ter todos os programas com owner root, aumentando o risco de segurança em caso de falha de algum software?

Como estava montando um firewall, isso me preocupou bastante.

VSMoraes (usuário não registrado) em 19/03/2009 às 11:12 am

@FlavioMachado

Opa, beleza?

Seguinte, é aconselhável usar makepkg como usuário normal. Tanto que, se você tentar como root, terá que usar um parâmetro extra para continuar.

O único passo que é obrigatório ser executado como root é a instalação do pacote gerado após a compilação.


$ su
Senha:
# pacman -U pacote.pkg.tar.gz

Thiago (usuário não registrado) em 19/03/2009 às 11:50 am

Flávio:

Ter os programas com owner root nao representa risco nenhum de segurança, uma vez que qualquer processo quando iniciado roda sob a uid do usuário que o iniciou, e não do owner do arquivo.

FlavioMachado em 19/03/2009 às 6:08 pm

VSMoraes,

Rodei o MAKEPKG como usuário normal mas ao ver as permissões do pacote binário final (tar tzpvf nome_do_pacote) o owner de todos os arquivos, em todos os pacotes que gerei, é o root.

Thiago,

Se o Squid, por exemplo, rodar como daemon (no startup da máquina), não é um usuário normal que será usado, mas o root. Em várias distribuições o que se faz é rodar como usuário squid (sem poderes), sendo que o binário do squid precisará SETUID para rodar como root e depois fazer o “drop” de privilégios. E sim, é um risco de segurança se o pacote X rodar como “serviço” na máquina a partir do startup.

Imagino que a única forma de ajustar seja criar um script de Post-Install e ajustar as permissões e owner, mas isso tudo podia ser evitado se na geração do pacote já se usasse um usuário específico para cada serviço que não precise ser mantido como root.

Minha pergunta (que pode servir como sugestão se for confirmada) é se todos os pacotes são gerados como root, sem possibilidade de já ser gerado com owner sendo um usuário com menores privilégios, quando possível (e descompactar o pacote com as permissões já prontas e owner estabelecido). Se só for possível assim, fica minha sugestão para o pessoal do Arch ajustar isso, diminui sensivelmente o perigo.