Comment permettre à un utilisateur non root d'écouter sur un port privilégié?
11
Je veux que syslog s'exécute en tant qu'utilisateur non root sur ma boîte Linux. Cela rend impossible la liaison avec le port 514 - car c'est un port privilégié. Existe-t-il un moyen d'accorder à l'utilisateur non administrateur "foo" la possibilité d'écouter sur le port 514?
Vous pouvez configurer rinetd(disponible dans la plupart, sinon la totalité, des référentiels standard de distribution) pour écouter sur le port 514 et transférer les connexions vers un autre port (au-dessus de 1024, disons 1514). De cette façon, le processus utilisateur non privilégié peut écouter sur 1514 et rinetdtransférer les connexions de sorte qu'il semble écouter sur 514.
Cela ne fonctionnera cependant que pour les connexions TCP. Si vous devez prendre en charge UDP (ou toute autre chose) de cette manière ainsi que ou au lieu de TCP, vous pouvez utiliser des règles de traduction iptables pour obtenir le même effet.
Je viens de trouver une très bonne discussion à ce sujet ici: /programming/413807/is-there-a-way-for-non-root-processes-to-bind-to-privileged-ports-1024- on-li
Ne semble pas facile
la source
Écoutez sur un port non privilégié et utilisez iptables dnat pour rediriger les connexions.
la source