I have an RHEL 6 system which has 20 users. I have 20 ports on which separate versions of a service is running. I want user a to access port a, but not other ports. Is there a way to do this? (possibly by modifying iptables)?


You can use the "owner" iptables module to do this. As an example to restrict port 999 to the user 'fred' only you can use:

iptables -I OUTPUT -p tcp --dport 999 -j REJECT
iptables -I OUTPUT -p tcp --dport 999 -m owner --uid-owner fred -j ACCEPT

The above rules are inserted to the top of the OUTPUT chain so the order reject then accept.

  • Also works for me on ubuntu server! Thanks!
    – Soony
    Mar 21 '17 at 8:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.