copyq禁止访问网络(ubuntu cgroup)

from: cgroup-iptables-disable-app_copyq-net.md

#[功能] 挂载、创建 cgroup(名为disable_net) ,设置其class_id, 令iptables丢弃该class_id的网络包function mountCreateCgroup__disable_net__my_classid__iptables_drop(){
set -e -u[[ $# -lt 1 ]] && return 41
local my_classid="$1"
##local my_classid=123 #命令展开形式(例)local net_cls_d="/sys/fs/cgroup/net_cls"
#挂载cgroup的net_cls
sudo mkdir -p $net_cls_d
##sudo mkdir -p /sys/fs/cgroup/net_cls #命令展开形式
sudo mount | grep  $net_cls_d ||  sudo mount -t cgroup -onet_cls net_cls $net_cls_d
##............................||  sudo mount -t cgroup -onet_cls net_cls /sys/fs/cgroup/net_cls  #命令展开形式#查看已挂载的cgroup
sudo mount | grep  cgroup
#cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot)
#net_cls on /sys/fs/cgroup/net_cls type cgroup (rw,relatime,net_cls)#新建cgroup (名为disable_net)
sudo cgcreate -g net_cls:/disable_net#默认classid为0
cat  $net_cls_d/disable_net/net_cls.classid # == 0#修改classid为123(例)
echo $my_classid | sudo tee   $net_cls_d/disable_net/net_cls.classid  # == 123(例)
##echo 123 | sudo tee   /sys/fs/cgroup/net_cls/disable_net/net_cls.classid  # == 123(例) #命令展开形式(例)cat  $net_cls_d/disable_net/net_cls.classid  # == 123(例)#令iptables丢弃 classid==123(例) 的 网络包裹, 从而达到禁止网络访问的效果
sudo iptables -A OUTPUT -m cgroup --cgroup $my_classid  -j DROP
##sudo iptables -A OUTPUT -m cgroup --cgroup 123  -j DROP #命令展开形式(例)
} #end_func

使用举例

#挂载、创建 cgroup(名为disable_net) ,设置其class_id, 令iptables丢弃该class_id的网络包
my_classid=123
mountCreateCgroup__disable_net__my_classid__iptables_drop $my_classid#获得域名163.com对应的ip
site_domain="163.com"
site_ip=$(dig +short "$site_domain") # == 59.111.160.244
web_url="http://${site_ip}" # == http://59.111.160.244#普通curl正常访问网络
curl  "${web_url}"#实测 经过 该net_cls 的 curl命令确实不能访问网络  
sudo cgexec -g net_cls:disable_net curl --verbose  "${web_url}"
#*   Trying 59.111.160.244:80...  #停在这里#运行copyq但不允许其访问网络
sudo  cgexec -g net_cls:disable_net /usr/bin/copyq
##sudo DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY cgexec -g net_cls:disable_net /usr/bin/copyq  #备用命令

参考:

cgroup 子系统之 net_cls 和 net_prio

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/464011.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面试题:JVM(二)

1. 面试题 简述 Java 类加载机制?(百度) JVM类加载机制 (滴滴) JVM中类加载机制,类加载过程,什么是双亲委派模型? (腾讯) JVM的类加载机制是什么? &#x…

【c++日常刷题】两个数字的交集、点击消除、最小花费爬楼梯

两个数字的交集⭐ 两个数组的交集_牛客题霸_牛客网 (nowcoder.com) 题目描述: 解题思路: 通过遍历num1,如果遍历到的元素如果在num2中能找到,则这是num1和num2的公告元素; 这里需要借助两个数组来实现:…

energy 发布 v2.4.5

更新内容 修复 energy cli install 命令安装开发环境 修复 动态库加载error未暴露 增加 JS ipc.on 监听模式,异步返回结果 修复 energy cli 不能强制退出问题 修复 MacOS 开发模式 debug 时不更新 helper 进程 优化 energy cli 在 MacOS 开发模式和安装包制作 link…

LeetCode 19. 删除链表的倒数第 N 个结点(java)

目录 题目描述: 代码: 第一种: 第二种: 题目描述: 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head [1,2,3,4,5], n 2 输出:[1,2,3,5]示例 2: 输入:h…

IMU应用于监测进食

最近,日本研究团队成功研发了一种创新的进食速度监测系统,巧妙融合IMU技术,旨在深入研究并有效评估个体在自由生活环境下的进食习惯。 实验中,科研团队把IMU传感器固定在受试者佩戴的腕带中,以监测并记录进食手腕时的运…

WSL开发--利用Git连接远程仓库(详细步骤)

这篇文章主要介绍了如何将本地项目推送到 GitLab 上,并且避免每次提交都需要输入用户名和密码。文中分步讲解了配置 GitLab SSH 密钥以及配置 Git 远程仓库地址的方法。以下是文章的优化和简洁版: 将本地项目推送到 GitLab 并配置 SSH 免密登录 为了方便…

LeetCode100之盛最多水的容器(11)--Java

1.问题描述 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量 注意 你不能倾斜容器 示例1 输入&…

算法实现 - 快速排序(Quick Sort) - 理解版

文章目录 算法介绍算法分析核心思想三个版本运行过程挖坑法Hoare 原版前后指针法 算法稳定性和复杂度稳定性时间复杂度平均情况O(nlogn)最差情况O( n 2 n^2 n2) 空间复杂度 算法介绍 快速排序是一种高效的排序算法,由英国计算机科学家C. A. R. Hoare在1960年提出&a…

设备搜索相关协议使用

一、实现原理 首先,Client -> Gateway : 发送 UDP 广播包(含厂商自定义协议)这一步表示客户端开始向网络中发送一个包含厂商自定义协议的 UDP 广播包,目的是寻找本厂商的设备(网关)。客户端此时处于活动状态activa…

视频去水印怎么办?两种方法教会你

视频有水印的话确实很恼火,想要干净的去除视频水印,这里分享两种简单又实用的方法。 方法一:美图秀秀 大家都熟悉的修图神器,功能超全。不仅能把照片P得美美哒,还能去掉照片和视频上的水印呢!用起来挺顺手…

【案例】旗帜飘动

开发平台:Unity 6.0 开发工具:Shader Graph 参考视频:Unity Shader Graph 旗帜飘动特效   一、效果图 二、Shader Graph 路线图 三、案例分析 核心思路:顶点偏移计算 与 顶点偏移忽略 3.1 纹理偏移 视觉上让旗帜保持动态飘动&a…

PHP合成图片,生成海报图,poster-editor使用说明

之前写过一篇使用Grafika插件生成海报图的文章,但是当我再次使用时,却发生了错误,回看Grafika文档,发现很久没更新了,不兼容新版的GD,所以改用了intervention/image插件来生成海报图。 但是后来需要对海报…

智慧汇聚:十款企业培训工具打造学习型企业

在当今快速变化的商业环境中,企业要想保持竞争力,就必须不断适应新技术、新市场和新的工作方式。构建一个学习型企业,不仅能够促进员工的个人成长,还能增强团队的整体能力和企业的创新能力。为了实现这一目标,借助先进…

「C/C++」C/C++标准库 之 #include<cstdlib> 通用工具函数库

✨博客主页何曾参静谧的博客📌文章专栏「C/C」C/C程序设计📚全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasoli…

pycharm调用方法时显示为灰色

不用担心,亮的证明是被用过得,灰色的没有被用,引用一下就会变正常了

机器学习:我们能用机器学习来建立投资模型吗

机器学习模型能解决什么投资问题? 利用机器学习解决投资问题的思路,其实和在互联网领域解决推荐、广告问题的思路是一样的,只不过利用的特征完全变了。推荐、广告模型利用的是用户的年龄、性别,物品的类别、价格等特征&#xff0c…

ClkLog企业版(CDP)预售开启,更有鸿蒙SDK前来助力

新版本发布 ClkLog在上线近1年后,获得了客户的一致肯定与好评,并收到了不少客户对功能需求的反馈。根据客户的反馈,我们在今年三季度对ClkLog的版本进行了重新的规划与调整,简化了原有的版本类型,方便客户进行选择。 与…

【Java设计模式】16-26章

行为型模式: 第16章 12模板方法模式(Template) 16.1 豆浆制作问题 16.2 模板方法模式基本介绍 16.3 模板方法模式原理类图 16.4 模板方法模式解决豆浆制作问题 package com.atguigu.template;//抽象类,表示豆浆 public abstract class SoyaMilk {//模板…

上市公司环境信息披露质量评分数据王婉菁版(2008-2023年)噪声光污染辐射废水减排等治理

数据来源基础数据来源于上市公司年报、社会责任报告、环境报告以及证监会和统计局。时间跨度2008-2023区域跨度企业及行业层面 核心解释变量:环境信息披露质量,是由上市公司环境管理、负债、业绩于治理、披露载体等各项信息披露质量评分加总。 被解释变…

Llama 3.2 Vision Molmo:多模态开源生态系统基础

编者按: 视觉功能的融入对模型能力和推理方式的影响如何?当我们需要一个既能看懂图像、又能生成文本的 AI 助手时,是否只能依赖于 GPT-4V 这样的闭源解决方案? 我们今天为大家分享的这篇文章,作者的核心观点是&#xf…