Estou construindo um pacote contendo um serviço da web que precisa escutar na porta 443. O próprio serviço está escrito em Go, portanto não posso usar o authbind para gerenciar as permissões de porta. Em vez disso, optei por usar o setcap:
me@buildbox $ setcap CAP_NET_BIND_SERVICE=+eip opt/myservice/myservice
me@buildbox $ getcap opt/myservice/myservice
opt/myservice/myservice = cap_net_bind_service+eip
No entanto, esse recurso não é preservado quando eu instalo o pacote em meus servidores.
me@myserver $ apt-get install myservice
...
# installs normally
...
me@myserver $ getcap /opt/myservice/myservice
me@myserver $ # ^ No output == no capabilities
Eu realmente não quero que esse serviço seja executado como root, mas estou tendo problemas para criar uma solução que seja preservada quando o pacote for instalado. Posso de alguma forma definir recursos em um pacote Debian? Existe outro método que atinge o resultado final desejado (o serviço pode ser vinculado à porta 443, mas não é executado como root).
Tags permissions deb linux