Ou simplesmente atribua uma porta fixa no intervalo de portas reservado e conceda ao seu aplicativo os direitos de vincular a essa porta.
sudo setcap 'cap_net_bind_service=+ep' /usr/local/bin/application
Em algumas situações, um aplicativo da Web conversará com clientes por meio de um proxy reverso (por exemplo, Apache com mod_proxy) em que o proxy reverso está escutando na porta 80 e o aplicativo da Web está escutando em uma porta maior que 1023 (porque raiz possui portas abaixo 1024).
Como mencionado em algumas respostas a essa questão , qualquer processo pode começar a escutar na porta alta se nenhum outro processo tiver começado a ouvi-la. Isso pode ser um problema se o aplicativo da Web não tiver iniciado a escuta na porta ainda e algum outro processo começar a ouvi-lo primeiro, acidentalmente ou por engano.
Existe alguma maneira de fazer um usuário ou grupo possuir uma porta, de modo que apenas o proprietário do aplicativo da Web possa iniciar um processo que ouça nessa porta?
Ou simplesmente atribua uma porta fixa no intervalo de portas reservado e conceda ao seu aplicativo os direitos de vincular a essa porta.
sudo setcap 'cap_net_bind_service=+ep' /usr/local/bin/application
Se você tem o Selinux (não tenho certeza sobre o AppArmor), você pode muito bem conseguir isso:
Certifique-se de que apenas o contexto desse aplicativo específico possa escutar essa porta e, em seguida, certifique-se de que apenas o usuário desejado possa iniciar esse aplicativo.