统信UOS中限制普通员工安装软件需三重封堵:关闭安全中心“允许任意应用”、禁用dpkg/apt等安装器执行权限、加固/opt等系统目录写入控制,并停用用户级systemd安装服务及清除crontab/shell自动安装残留。

您需要在统信UOS系统中限制普通员工账号安装软件,防止其擅自部署未经审核的程序,避免安全风险与系统不稳定。该需求本质是切断非管理员用户的软件安装权限链,必须从签名验证、执行权限、安装通道三重机制同时封堵。
关闭应用安全中心的“允许任意应用”策略
这是最直接有效的第一道防线。专业版1060+默认启用签名强制检查,但若此前被手动开启过“允许任意应用”,所有后续限制都将失效。
1、点击启动器 → 搜索并打开“安全中心” → 左侧选“安全工具” → “应用安全”。
2、找到“允许任意应用”开关,确认其处于关闭状态(灰色)。若为蓝色开启状态,点击后输入当前用户密码关闭。
3、关闭后立即生效,无需重启。此时双击未签名.deb或.sh文件将直接静默失败或报“段错误”,无法进入安装流程。
禁用普通用户对安装器和包管理器的执行权限
即使签名策略已收紧,用户仍可能通过终端调用dpkg、apt或图形安装器绕过限制。需剥夺其执行关键安装工具的能力。
方法一:锁定软件包安装器可执行位
执行:sudo chmod 755 /usr/bin/deepin-deb-installer → 再执行:sudo chmod 744 /usr/bin/deepin-deb-installer【第二步将属组和其他用户的x权限移除,仅保留root可执行】
方法二:重置dpkg命令访问控制
执行:sudo setfacl -m u:普通用户名:--- /usr/bin/dpkg【将指定用户对dpkg的读、写、执行权限全部清空;请将“普通用户名”替换为实际账号名】
方法三:禁用apt命令的sudo免密权限(如已配置)
检查/etc/sudoers中是否存在类似“%users ALL=(ALL) NOPASSWD: /usr/bin/apt”的行,若存在,用visudo注释掉该行。
移除普通用户对系统目录的写入能力
安装软件最终要向/opt、/usr/local、/usr/share等路径写入文件,只要这些目录对普通用户可写,就存在绕过前端限制的可能。
第一步:确认关键目录权限
执行:ls -ld /opt /usr/local /usr/share,正常应显示权限为drwxr-xr-x,且属主为root。
第二步:修复被篡改的属主与权限
若发现/opt属主不是root或权限含w(如drwxrwxr-x),立即执行:sudo chown root:root /opt && sudo chmod 755 /opt。
第三步:递归加固/usr/local
执行:sudo chown -R root:root /usr/local && sudo chmod -R 755 /usr/local【此操作会清除普通用户在/usr/local下所有自建目录,务必提前备份必要内容】
停用并屏蔽systemd用户级安装服务
部分第三方安装脚本会注册systemd --user服务实现后台安装逻辑,这类服务不受图形界面策略管控,必须单独处理。
1、切换至目标普通用户环境:sudo -u 普通用户名 bash。
2、列出其用户级服务:systemctl --user list-unit-files --type=service | grep -i install。
3、对查出的安装类服务(如myapp-installer.service),执行:systemctl --user disable --now myapp-installer.service。
4、返回root权限,永久屏蔽:sudo systemctl --global mask myapp-installer.service。
清除用户级自动安装残留项
员工可能已通过crontab @reboot或~/.bashrc末尾追加命令实现开机自动安装,这类行为隐蔽且持续生效。
方法一:检查并清空用户定时任务
执行:sudo -u 普通用户名 crontab -l | grep -i "@reboot\|install\|dpkg\|apt",若输出非空,立即执行:sudo -u 普通用户名 crontab -e,删掉对应行并保存。
方法二:扫描shell初始化文件
执行:sudo grep -n "dpkg\|apt\|install" /home/普通用户名/.bashrc /home/普通用户名/.profile /home/普通用户名/.bash_profile 2>/dev/null,定位到行号后,用nano手动删除该行。

















