Ubuntu에서 개별 사용자에 대해 TCP 포트 권한을 설정하는 방법이 있습니까?
예를 들어 userA는 3000-3010 사이의 포트만 열 수 있습니다. 따라서 userA가 다음 명령을 실행하면 php -S 0.0.0.0:3001
작동합니다. 그러나 실행을 시도하면 php -S 0.0.0.0:3200
권한이 거부됩니다.
답변1
MAC(SELinux 또는 AppArmor)이 필요하지 않으며 iptables를 사용하여 빠르고 더러운 해킹을 수행할 수 있습니다.
iptables -P INPUT DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -o ethX -m owner --uid-owner <userA_UID> -m multiport --dports 3000-3010 -j ACCEPT
그러나 사용자에게는 아무 것도 기록하지 않으며 여전히 사용자를 허용합니다.제본포트. 포트가 차단되었다는 증상만 나타납니다.