单用户模式下必须阻断远程登录:先用ip a确认网络未激活,若已启用则关闭网卡;执行systemctl mask ssh屏蔽服务;pkill sshd并禁用;删除multi-user.target中ssh软链接;检查GRUB无异常网络参数;锁定root shell为/sbin/nologin。

银河麒麟系统进入单用户模式后默认不启用网络服务,但若人为启用了SSH或Telnet等远程终端服务,可能意外暴露root权限通道,必须主动阻断远程登录能力。
确认单用户模式下无网络服务运行
单用户模式启动后,直接执行 ip a 或 ifconfig 查看是否有活跃网卡;若输出中无 inet 地址,说明网络未激活,远程登录天然不可达。
若发现 eth0 或 ens33 等接口已分配 IP,则说明系统被手动启用了网络——此时需立即执行 ip link set dev eth0 down(将 eth0 替换为实际接口名)关闭网络接口。
禁止SSH守护进程在单用户阶段启动
方法一:临时屏蔽SSH服务启动
执行 sudo systemctl mask ssh,该命令会创建指向 /dev/null 的符号链接,使 systemd 在任何运行级别都无法启动 ssh 服务。退出单用户前无需取消屏蔽,重启后自动恢复。
方法二:强制停止并禁用当前SSH进程
运行 sudo pkill -f "/usr/sbin/sshd" 杀掉所有 sshd 进程;再执行 sudo systemctl stop ssh && sudo systemctl disable ssh,确保下次以非单用户模式启动时也不会自启。
彻底移除远程登录入口点
第一步:检查并删除残留的远程登录配置文件
执行 ls -l /etc/systemd/system/multi-user.target.wants/ | grep -E "(ssh|telnet)",若返回结果含 sshd.service 或 telnet.socket,说明远程服务被软链接到多用户目标——这在单用户模式下虽不生效,但属潜在风险源。
第二步:清除GRUB引导参数中的异常网络启用项
编辑 /boot/grub/grub.cfg(注意:此为只读生成文件,仅作检查)或更准确地检查 /etc/default/grub 中是否含 net.ifnames=0 biosdevname=0 类网络相关参数;若存在且非必要,应从 GRUB_CMDLINE_LINUX 行中删去,避免后续误启网络。
第三步:验证 root 用户 Shell 是否已被锁定
运行 getent passwd root | cut -d: -f7,输出必须为 【/sbin/nologin】 或 【/bin/false】;若显示 /bin/bash 或 /bin/sh,则执行 sudo usermod -s /sbin/nologin root 立即锁定,防止通过任何本地或远程终端获得交互式 shell。

















