跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

麒麟OS如何设置家长控制 麒麟OS用户行为限制【安全】

需结合用户隔离、应用白名单、PAM时间限制、iptables网络管控及auditd审计五层机制实现:一、创建无sudo权限的子用户;二、通过dconf禁用未授权应用;三、用PAM time.so限定登录时段;四、按UID配置iptables阻断外网访问;五、启用auditd监控execve与connect等关键行为。

如果您希望在麒麟操作系统(Kylin OS)中对特定用户(如未成年家庭成员)实施上网行为管控与使用时长约束,则需结合系统级用户隔离、应用白名单、时间策略及网络访问限制等多层机制实现。以下是具体可行的操作路径:

一、创建受控子用户并配置独立会话环境

通过建立非特权普通用户账户,将其与主账户完全隔离,是实施家长控制的基础前提。该账户不拥有sudo权限,无法安装软件或修改系统设置,所有操作均受限于其家目录与分配组权限。

1、以root身份打开终端,执行命令创建新用户:

sudouseradd -m -s /bin/bash -c "儿童账户" childuser

2、为该用户设置强密码:

sudo passwd childuser 3、禁用该用户的sudo能力(确保/etc/sudoers中无对应条目,且未加入sudo或admin组):sudo deluser childuser sudo sudo deluser childuser admin

4、验证用户主组与附加组归属:

id childuser

二、启用桌面环境级应用白名单机制

麒麟OS默认搭载UKUI桌面环境,支持通过dconf配置限制用户可启动的应用程序列表,仅允许预设安全应用运行,阻止浏览器、游戏、终端等高风险程序启动。

1、切换至childuser账户登录一次,生成其dconf用户数据库:

2、以root身份执行以下命令,锁定应用启动器可见项:

sudo -u childuser dbus-run-session gsettings set org.ukui.menus applications "['org.gnome.Nautilus.desktop', 'org.gnome.Terminal.desktop', 'org.gnome.TextEditor.desktop']"

3、禁用全部未授权.desktop文件的执行权限:

sudo find /usr/share/applications/ -name "*.desktop" -exec sudo chmod 600 {} \;4、对关键应用(如Firefox、Chrome)移除执行位并重命名其.desktop文件:sudo chmod -x /usr/bin/firefox sudo mv /usr/share/applications/firefox.desktop /usr/share/applications/firefox.desktop.disabled

三、配置PAM时间限制模块控制每日登录时段

利用Linux PAM(Pluggable Authentication Modules)的time.so模块,可精确限定childuser每天可登录系统的起止时间,超出时段将拒绝认证,适用于作息管理场景。

1、编辑PAM时间策略配置文件:

sudo nano /etc/security/time.conf 2、在文件末尾添加如下行(示例:仅允许周一至周五17:00–20:30,周六日09:00–12:00):childuser;Al0000-2400;Wk0000-2400;MoTuWeThFr1700-2030;SaSu0900-1200;3、启用PAM time模块,在/etc/pam.d/common-auth中插入:auth [default=ignore] pam_time.so

4、重启lightdm服务使策略生效:

sudo systemctl restart lightdm

四、部署iptables规则限制指定用户的外网访问目标

基于用户ID(UID)匹配进行网络流控,可阻断childuser账户访问特定域名或IP段(如视频平台、社交网站),同时放行教育类白名单地址,无需依赖第三方代理软件。

1、确认childuser的UID数值:

id -u childuser 2、加载nf_owner模块并添加OUTPUT链规则(以UID 1002为例):sudo modprobe xt_owner sudo iptables -A OUTPUT -m owner --uid-owner 1002 -d 110.242.68.0/24 -j DROP sudo iptables -A OUTPUT -m owner --uid-owner 1002 -d 223.252.199.6 -j DROP

3、添加教育白名单例外规则(优先级高于DROP):

sudo iptables -I OUTPUT -m owner --uid-owner 1002 -d 202.195.128.0/17 -j ACCEPT

4、保存当前iptables规则至持久化文件:

sudo iptables-save > /etc/iptables/rules.v4

五、启用auditd审计子系统监控异常操作行为

通过Linux内核审计框架持续记录childuser账户的关键系统调用(如execve、connect、openat),可发现绕过限制的尝试行为,为家长提供可追溯的操作日志证据。

1、安装并启用audit服务:

sudo apt-get install auditd audispd-plugins sudo systemctl enable auditd sudo systemctl start auditd 2、添加针对childuser的审计规则(监控所有execve调用):sudo auditctl -a always,exit -F uid=1002 -S execve

3、添加网络连接监控规则:

sudo auditctl -a always,exit -F uid=1002 -S connect 4、配置日志归档路径与轮转策略(编辑/etc/audit/auditd.conf):log_file = /var/log/audit/childuser-audit.log num_logs = 6

5、设置日志读取权限仅限root与家长主账户:

sudo chown root:parentgroup /var/log/audit/childuser-audit.log sudo chmod 640 /var/log/audit/childuser-audit.log

相关文章