linux下禁用某个程序访问网络

1.建个新组, 加成员

sudo addgroup no-internet

sudo adduser $your_user -g no-internet 增加本用户入组,不然运行是提示输入密码

2.加iptables规则来禁止组访问网络

iptables -I OUTPUT 1 -m owner --gid-owner no-internet -j DROP

ip6tables -I OUTPUT 1 -m owner --gid-owner no-internet -j DROP #否则使用ipv6的网络依然可以通过

3.通过sg来跑程序(用其他组ID来执行命令)

sg no-internet "ping www.baidu.com"

在快捷方式中添加EXEC = sg no-internet

4.在/etc/network/if-pre-up.d新建iptables-rules 可执行脚本

#!/bin/sh

/usr/sbin/ip6tables -I OUTPUT 1 -m owner --gid-owner no-internet -j DROP

/usr/sbin/iptables -I OUTPUT 1 -m owner --gid-owner no-internet -j DROP

这样网络启动时规则自动加入


https://www.zhihu.com/question/419420632

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容