麒麟os中限制应用行为需四类策略:ukui白名单拦截桌面启动、pam会话层阻断进程执行、安全中心关闭联网总开关、防火墙新建出站规则禁联网,后台冻结则需安全中心授权。

您需要在麒麟OS中限制应用程序的启动、运行或联网行为,防止未授权软件执行、后台自启或擅自访问网络,这涉及白名单管控、权限拦截、后台冻结解除与联网阻断四类策略,每类需对应不同系统模块操作。
启用UKUI桌面应用白名单(图形界面层拦截)
该方法直接控制桌面启动器中可见且可执行的应用入口,仅保留预设.desktop文件,从用户交互源头阻断未授权程序调用。
以root身份切换至目标用户并首次登录一次,确保其dconf数据库已初始化。
执行命令设置允许启动的应用列表:sudo -u childuser dbus-run-session gsettings set org.ukui.menus applications "['org.gnome.Nautilus.desktop', 'org.gnome.TextEditor.desktop']",【注意:数组内必须使用单引号包裹.desktop文件名,双引号会导致解析失败】。
批量禁用系统级所有.desktop文件的执行权限:sudo find /usr/share/applications/ -name "*.desktop" -exec sudo chmod 600 {} \;。
对高风险应用(如Firefox、Chrome)单独移除执行位并重命名其.desktop文件:sudo chmod -x /usr/bin/firefox && sudo mv /usr/share/applications/firefox.desktop /usr/share/applications/firefox.desktop.disabled。
配置PAM会话层应用启动拦截(强效进程级阻断)
此策略在用户会话初始化阶段即检查待执行程序路径,若不在白名单内则直接拒绝fork/exec调用,作用于所有shell及GUI子进程,拦截强度最高。
编辑PAM会话配置文件:sudo nano /etc/pam.d/common-session。
在文件末尾添加以下行:session required pam_exec.so /usr/local/bin/check_app_whitelist.sh。
确保/usr/local/bin/check_app_whitelist.sh脚本存在且具备可执行权限,并在脚本中明确列出允许执行的绝对路径(如/usr/bin/gvim、/opt/wps-office/ksolauncher),其他路径一律exit 1。
通过安全中心关闭应用联网控制(全局网络策略开关)
若需快速解除系统对所有应用的联网限制,可关闭安全中心内置的联网管控总开关,使联网行为回归用户自主决策。
点击桌面左下角【开始菜单】,在搜索框中输入“安全中心”并打开。
进入【网络保护】页面,将【防火墙】开关设为关闭。
在同一页面下,将【应用程序联网】选项设为关闭。
切换至【应用控制与保护】页面,依次将【应用程序来源检查】、【应用程序执行控制】、【应用程序防护】三项均设为关闭。
使用高级防火墙新建出站阻止规则(精准程序级联网阻断)
该方法基于iptables/firewalld底层机制,创建定向出站连接拦截规则,不依赖图形开关,稳定性高,适用于长期禁用特定软件联网。
第一步:点击【开始菜单】→【控制面板】→【系统和安全】→【防火墙】。
第二步:点击左侧【高级设置】,进入“高级安全银河麒麟防火墙”窗口。
第三步:在左侧选择【出站规则】,右侧点击【新建规则】。
第四步:向导中选择【程序】,点击【下一步】。
第五步:点击【浏览】,定位并选中需禁止联网的软件可执行文件(如/opt/wechat/WeChat或/usr/bin/qbittorrent)。
第六步:在规则操作页选择【阻止连接】,点击【下一步】。
第七步:在配置配置文件页,确保域、专用、公用三项均被勾选。
第八步:为规则命名(如“禁用WeChat联网”),点击【完成】。
通过安全中心解除应用后台冻结(恢复消息与服务连续性)
微信、钉钉等应用在后台被冻结后收不到消息、定位中断,本质是系统主动终止其后台进程,需在安全中心显式授权。
点击左下角「开始菜单」→「控制面板」→「安全中心」。
左侧导航栏选择「应用保护」,右侧列表中找到目标应用(如“WeChat”或“DingTalk”)。
点击其右侧「权限设置」按钮,在弹出面板中向下滚动至「后台行为」区域。
勾选【允许后台运行】与【允许自启动】两项开关。
若应用依赖网络(如即时通讯类),必须同步开启【允许后台网络访问】,否则即使进程存活也无法收发消息。











