root账户在Linux系统中禁用的四种方法详解

在Linux以及其他类Unix操作系统里,root账户堪称超级管理员账户。它具备对系统中所有命令与文件的完全读写及执行权限。

此账户拥有强大的功能,能够执行各类系统操作,涵盖创建、修改、访问以及删除其他用户账户,还能进行软件包的安装、卸载和升级等所有关键任务。

鉴于root用户拥有至高无上的权限,其每一项操作都可能对系统产生决定性的影响。一旦操作出现失误,极有可能致使系统运行异常。而账户滥用的情况,无论是出于无心之失、恶意行为,亦或是策略性的忽视,都会带来极为严重的安全隐患。

有鉴于此,在Linux服务器中,建议禁用root账户的直接登录方式,转而创建具备sudo权限的管理员账户,以此来执行特权命令。

重要提示

在禁用root账户之前,请务必预先创建一个具备sudo权限的管理员账户。

创建管理员账户

以下命令用于创建管理员账户,其中 -m 选项用于创建家目录,-c 选项用于添加备注:

# useradd -m -c "系统管理员" admin
# passwd admin

添加管理员组

根据不同的发行版,您需要选择将管理员添加到 wheel 或 sudo 组:

# usermod -aG wheel admin    # CentOS/RHEL系列
# usermod -aG sudo admin     # Debian/Ubuntu系列

创建完成后,请先切换到该管理员账户,再执行后续操作:

# su admin

方法一:修改root用户的默认shell

通过将root的登录shell更改为 /sbin/nologin 来实现限制:

  1. 编辑 /etc/passwd 文件:
$ sudo vim /etc/passwd
  1. 找到root所在行,并将其修改为:
root:x:0:0:root:/root:/sbin/nologin
  1. 自定义提示信息(可选):
    您可以在 /etc/nologin.txt 中添加提示内容。

特点

此方法仅对需要shell交互的登录方式有效,仍允许通过 sudo、ftp 等非shell方式进行访问。登录时会显示“该账户不可用”的提示。

方法二:禁用控制台(TTY)登录

利用 pam_securetty 模块限制root仅能通过安全终端登录:
清空安全终端列表:

$ sudo mv /etc/securetty /etc/securetty.orig
$ sudo touch /etc/securetty
$ sudo chmod 600 /etc/securetty

特点

该方法仅影响 login、gdm/kdm/xdm 等本地登录服务,不影响 su、sudo、ssh 等工具以root身份进行访问,适合用于物理服务器的安全加固。

方法三:禁止SSH的root登录(推荐)

修改SSH服务配置:

  1. 编辑配置文件:
$ sudo vim /etc/ssh/sshd_config
  1. 修改参数:
    将 PermitRootLogin 设置为 no。
  2. 重启服务:
$ sudo systemctl restart sshd
# 或
$ sudo service sshd restart

特点

这是最常用的远程管理加固方案,仅影响SSH相关工具(如 ssh、scp、sftp),需要配合其他方法以实现全面防护。

方法四:通过PAM模块限制服务访问

使用pam_listfile.so模块实现精细化控制:

1.编辑PAM配置文件:

$ sudo vim /etc/pam.d/login
# 或
$ sudo vim /etc/pam.d/sshd

2.添加以下内容:

auth    required       pam_listfile.so         onerr=succeed  item=user  sense=deny  file=/etc/ssh/deniedusers

3.创建禁止用户列表:

$ sudo vim /etc/ssh/deniedusers
# 添加root
$ sudo chmod 600 /etc/ssh/deniedusers

特点:

  • 支持所有PAM认证的服务(如ftp、邮件客户端等)
  • 可灵活配置多服务统一策略
  • 需要维护独立的用户列表文件

补充说明:

1.企业级环境建议组合使用方法三+方法四

2.所有修改前建议备份配置文件

3.实施后建议通过新会话测试效果

4.可通过man pam_securetty等命令查看详细文档

安全建议:

  • 定期审计sudo权限分配
  • 为管理员账户配置SSH密钥认证
  • 启用系统操作日志审计(如auditd
  • 考虑部署堡垒机进行权限管控

通过以上方法的组合实施,可有效降低因root账户滥用导致的安全风险,同时保持合理的系统管理灵活性。实际部署时应根据具体业务需求选择适当方案。

原文链接:,转发请注明来源!