이 사용자를 사용하여 실행되는 모든 응용 프로그램이 네트워크에 연결할 수 없도록 새 사용자(또는 그룹)를 만들고 싶습니다.
@Michael Kjörling 귀하의 조언을 따랐고(Ubuntu 12.04 64비트 사용) 몇 가지 오류 메시지가 표시되었습니다.
$ sudo iptables -A OUTPUT -m owner --uid-owner xyz ! -i lo -j REJECT --reject-with network-unreachable
iptables v1.4.12: unknown reject type "network-unreachable"
Try `iptables -h' or 'iptables --help' for more information.
$ sudo iptables -A OUTPUT -m owner --uid-owner xyz ! -i lo -j REJECT
iptables v1.4.12: Can't use -i with OUTPUT
Try `iptables -h' or 'iptables --help' for more information.
$ sudo iptables -A OUTPUT -m owner --uid-owner xyz ! -j REJECT
iptables v1.4.12: cannot have ! before -j
Try `iptables -h' or 'iptables --help' for more information.
마지막으로 다음이 수행됩니다. 하지만 뭔가 잘못된 것이 있는지 잘 모르겠습니다.
$ sudo iptables -A OUTPUT -m owner --uid-owner xyz -j REJECT
$
답변1
루프백 인터페이스를 제외하고 iptables(ipt_owner.ko)의 소유자 일치 확장을 사용하여 특정 사용자에 대한 외부 네트워크 트래픽을 차단할 수 있습니다. (또는 특정 사용자 그룹만 네트워크에 액세스하도록 허용합니다.)
예를 들어:
modprobe ipt_owner
iptables -A OUTPUT -m owner --uid-owner $USERNAME ! -o lo -j REJECT
(테스트되지 않았지만 요점을 알아야 합니다.) $USERNAME을 해당 사용자의 로그인 이름으로 바꾸십시오.
iptables를 사용하여 사용자/그룹에 대한 네트워크 액세스를 제한하는 방법 - 소유자 일치Nikesh Jauhari가 몇 가지 배경 지식을 제공합니다. 그룹에서도 작동하지만 기본 및 보조 그룹을 어떻게 처리하는지 잘 모르겠습니다.