原文链接:不用点界面!银河麒麟一条命令控制应用联网权限,微信也能精细化管理
hello,大家好呀~在日常使用银河麒麟桌面操作系统时,很多人都会接触到一个很重要的安全能力:应用联网控制,它的作用很直接:
允许某个应用联网
禁止某个应用联网
设置为“询问后再决定”
这类功能在办公终端、安全加固、内网环境管理中都非常实用。但不少人只知道通过图形界面去点,却不知道:麒麟系统其实已经提供了命令行工具,可以直接对应用联网权限做精细化配置。今天这篇文章,就带大家用一个最常见的例子——微信,来快速搞懂银河麒麟的应用联网控制。
一、测试环境
本文测试环境系统为银河麒麟桌面操作系统V10 SP1,x86_64架构,内核版本为5.4.18-142-generic。
pdsyw@pdsyw1024:~/桌面$ cat /etc/os-release NAME="Kylin" VERSION="银河麒麟桌面操作系统V10 SP1" VERSION_US="Kylin Linux Desktop V10 SP1" ID=kylin ID_LIKE=debian PRETTY_NAME="Kylin V10 SP1" VERSION_ID="v10" HOME_URL="http://www.kylinos.cn/" SUPPORT_URL="http://www.kylinos.cn/support/technology.html" BUG_REPORT_URL="http://www.kylinos.cn/" PRIVACY_POLICY_URL="http://www.kylinos.cn" VERSION_CODENAME=kylin UBUNTU_CODENAME=kylin PROJECT_CODENAME=V10SP1 KYLIN_RELEASE_ID="2503" pdsyw@pdsyw1024:~/桌面$ uname -a Linux pdsyw1024 5.4.18-142-generic #131-KYLINOS SMP Thu Mar 27 03:10:31 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
二、先看系统当前安全状态
在开始配置前,可以先查看当前系统的安全控制状态,输出中可以看到KySec status:enabled,说明麒麟安全机制已经启用。同时还能看到多个控制项当前状态,比如:exec control、net control、file protect、device control等,其中本次重点关注的是:net control : warning,也就是说,当前系统的联网控制已经开启,且默认策略为“警告/询问”模式。
pdsyw@pdsyw1024:~/桌面$ getstatus KySec status: enabled exec control : off net control : warning file protect : off kmod protect : off three admin : off process protect: off device control: off ipt control : off kid protect : off program blklist: off eperm control: off
三、先查目标应用是否在联网控制列表里
这里以微信(wechat)为例。先查询当前系统中和微信相关的联网控制条目,可以看到当前系统里已经识别出多个相关包,比如:wechat、wechat-beta、wechat-devtools、kylin-kwre-wechat,其中最关键的是正式版wechat这一项。
pdsyw@pdsyw1024:~/桌面$ kysec_netctl --list pkglist | grep wechat pkg:wechat type:1 ico:/usr/share/icons/hicolor/256x256/apps/wechat.png desktop:/usr/share/applications/wechat.desktop server_type:3 pkg:wechat-beta type:1 ico: desktop: server_type:1 pkg:wechat-devtools type:1 ico: desktop: server_type:1 pkg:kylin-kwre-wechat type:1 ico: desktop: server_type:1
四、联网控制的三种状态一定要记住
在kysec_netctl里,应用联网状态主要有三种:
allow:允许
warning:警告
deny:阻止
从列表中看到的type值,也正好对应这三种状态:
type:1→允许
type:2→阻止
type:3→警告
这就是麒麟系统做应用联网精细化控制的核心逻辑。
五、把微信设置为“询问联网”
如果希望微信在联网时不是直接放行,而是先进入警告状态,可以执行下列命令,可以看到wechat的type已经变成了3,说明当前状态已经切换为warning。这种模式比较适合:
想先观察应用是否真的需要联网
不想直接放行
希望保留人工判断空间
pdsyw@pdsyw1024:~/桌面$ kysec_netctl --set -p wechat -s warning pdsyw@pdsyw1024:~/桌面$ kysec_netctl --list pkglist | grep wechat pkg:wechat type:3 ico:/usr/share/icons/hicolor/256x256/apps/wechat.png desktop:/usr/share/applications/wechat.desktop server_type:3 pkg:wechat-beta type:1 ico: desktop: server_type:1 pkg:wechat-devtools type:1 ico: desktop: server_type:1 pkg:kylin-kwre-wechat type:1 ico: desktop: server_type:1
六、把微信设置为“阻止联网”
如果希望微信彻底被阻止联网,可以执行下列命令,这时你会发现wechat的状态已经变成type:2,表示deny(阻止)。这种方式适合:
内网终端限制外联
禁止某些应用访问互联网
做终端安全基线控制
pdsyw@pdsyw1024:~/桌面$ kysec_netctl --set -p wechat -s deny pdsyw@pdsyw1024:~/桌面$ kysec_netctl --list pkglist | grep wechat pkg:wechat type:2 ico:/usr/share/icons/hicolor/256x256/apps/wechat.png desktop:/usr/share/applications/wechat.desktop server_type:3 pkg:wechat-beta type:1 ico: desktop: server_type:1 pkg:wechat-devtools type:1 ico: desktop: server_type:1 pkg:kylin-kwre-wechat type:1 ico: desktop: server_type:1
七、把微信恢复为“允许联网”
如果只是临时阻止,后续想恢复正常联网,改回允许状态即可,此时wechat会重新显示为type:1,也就是allow(允许)。
pdsyw@pdsyw1024:~/桌面$ kysec_netctl --set -p wechat -s allow pdsyw@pdsyw1024:~/桌面$ kysec_netctl --list pkglist | grep wechat pkg:wechat type:1 ico:/usr/share/icons/hicolor/256x256/apps/wechat.png desktop:/usr/share/applications/wechat.desktop server_type:3 pkg:wechat-beta type:1 ico: desktop: server_type:1 pkg:wechat-devtools type:1 ico: desktop: server_type:1 pkg:kylin-kwre-wechat type:1 ico: desktop: server_type:1
八、如果不想再控制这个应用怎么办?
如果你希望把微信从联网控制列表中移除,而不是单纯改状态,可以执行下列命令,可以看到原本的wechat条目已经不在列表里了,只剩其他相关包。这意味着:这个应用不再被当前这条联网控制规则直接管理。
pdsyw@pdsyw1024:~/桌面$ kysec_netctl --remove -p wechat pdsyw@pdsyw1024:~/桌面$ kysec_netctl --list pkglist | grep wechat pkg:wechat-beta type:1 ico: desktop: server_type:1 pkg:wechat-devtools type:1 ico: desktop: server_type:1 pkg:kylin-kwre-wechat type:1 ico: desktop: server_type:1
九、打开微信会显示进行操作
在上一步删除了之后,再次打开微信后,需要进行操作,比如放行、始终阻止、本次禁止等,点击放行,就可以在联网控制里再次查看到。
十、命令怎么记?直接看帮助
如果平时记不住参数,可以直接查看帮助,帮助中给出了几个最核心的用法:
--set:设置应用联网策略
--remove:删除应用控制项
--list:查看包列表或应用列表
--help:显示帮助信息
对于运维人员来说,这已经足够做日常脚本化配置了。
pdsyw@pdsyw1024:~/桌面$ kysec_netctl -h netctl --set [-p] [package name] [-a] [app path] [-s] [allow | warning | deny] [-i] [ico] [-n] [name] [-d] [desktop] [-t] [server_type] netctl --remove [-p] [package name] [-a] [app path] netctl --list [pkglist | applist] netctl --help
十一、为什么这套方式特别适合运维?
很多人会觉得图形界面明明也能点,为什么还要用命令?原因很简单——命令行方式真正适合的是这些场景:
批量配置终端:同一套联网策略,可以写进脚本,一次性下发到多台机器。
远程管理:通过SSH登录后,直接在终端修改,不用坐到机器前面操作。
适合留痕和审计:每一步配置都能清晰记录,方便后续回溯。
更适合精细化控制:对特定应用、特定包名进行单独管理,比手工点界面更高效。
十二、总结
如果用一句话概括银河麒麟这套机制:不仅能做应用联网控制,而且命令行就能精准管理。通过kysec_netctl,你可以非常清晰地完成这几件事:
查看应用当前联网状态
设置为允许、询问或禁止
删除某个应用的联网控制项
做标准化、批量化终端策略配置
对于桌面终端安全、办公环境管理、运维自动化来说,这个功能真的很实用。