CentOS 7系统精简,仅保留root账户的配置方法

admin
为提升系统安全性与资源利用率,CentOS 7系统精简可仅保留root账户,核心操作包括:删除所有普通用户(userdel -r username),禁用非必要系统服务(systemctl disable service),关闭SELinux(setenforce 0)及防火墙(systemctl stop firewalld),清理自启动项(chkconfig off),同时需强化root密码策略,修改SSH配置(如禁用root远程登录或限制访问源),完成后重启系统验证,确保仅root账户可用且基础服务稳定运行,减少潜在攻击面与资源占用。

在特定的系统管理场景下(如高安全要求的隔离服务器、测试环境或简化权限管理),可能需要将CentOS 7系统精简为仅保留root一个账户,但需注意,root账户拥有系统最高权限,无其他用户账户会限制日常操作灵活性(如无法通过普通用户执行任务、无法多人协作等),且操作不当可能导致系统无法登录或服务异常,本文将详细说明配置步骤及注意事项,确保操作安全可控。

操作前准备与风险提示

风险提示

  • 系统可用性风险:删除所有非root用户后,若root账户密码丢失、SSH配置错误或系统服务异常,可能无法通过任何方式登录系统,需提前准备救援方案(如通过控制台物理访问、救援模式等)。
  • 服务依赖风险:部分系统服务(如httpdnginxmysql等)可能默认以普通用户运行,删除用户后服务启动失败,需提前调整服务运行用户或禁用不必要的服务。
  • 操作权限要求:所有操作需通过root账户完成,确保当前root账户可正常登录且具有完整权限。

准备工作

  • 备份重要数据:确认系统无重要业务数据,或已通过快照/备份工具(如rsynctar)完成备份。
  • 记录现有用户:通过cat /etc/passwd查看系统当前所有用户,避免误删系统关键用户(如nobodydbussystemd-resolve等,这些用户是系统运行必需的)。
  • 确认登录方式:若通过SSH远程登录,确保当前root账户可通过SSH正常连接,避免操作后无法远程访问。

详细配置步骤

步骤1:查看并识别系统用户

执行以下命令列出系统所有用户:

cat /etc/passwd

输出格式示例:

CentOS 7系统精简,仅保留root账户的配置方法

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
......
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin

关键说明

  • 第一列root:目标保留的超级用户。
  • 其他用户(如bindaemonnobody等):系统关键用户,不可删除,这些用户用于系统服务运行,无登录权限(/sbin/nologin/usr/sbin/nologin)。
  • 需删除的仅是普通用户账户(如centosadmintestuser等),通常这些用户具有/home目录且登录Shell为/bin/bash/bin/sh

步骤2:删除非root普通用户

假设需删除的用户名为centos(替换为实际普通用户名),执行以下命令:

1 删除用户及其主目录

userdel -r centos
  • -r参数:同时删除用户的主目录(/home/centos)和邮件文件(var/spool/mail/centos),避免残留数据。

2 批量删除多个普通用户

若需删除多个用户(如admintestuser),可通过循环命令批量处理:

for user in admin testuser; do
    if id "$user" &>/dev/null; then
        userdel -r "$user"
        echo "用户 $user 已删除"
    else
        echo "用户 $user 不存在,跳过"
    fi
done

3 验证用户是否删除

再次执行cat /etc/passwd,确认目标用户已不在列表中,或通过id命令检查:

id centos  # 若用户不存在,提示“id: centos: no such user”

步骤3:配置SSH远程登录(可选)

若需通过SSH远程管理仅保留root账户的系统,需修改SSH配置确保root可登录,并禁止其他用户登录(尽管其他用户已被删除,但配置可增强安全性)。

1 编辑SSH配置文件

vim /etc/ssh/sshd_config

2 修改关键参数

  • 允许root直接登录
文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码