CentOS如何新建sudo权限账户?centos添加用户并授权sudo

在CentOS系统中,新建具有sudo权限的非root账户是提升服务器安全性的标准操作,核心步骤是通过useradd创建用户,并使用usermod或visudo赋予其sudo执行权限。

直接登录root账户进行日常运维存在巨大的安全风险,一旦凭证泄露,攻击者将获得系统的最高控制权,业内专家指出,最小权限原则是信息安全的基础,因此为每位管理员或开发者分配独立的sudo账户已成为行业共识,本文将通过具体的命令操作,指导你完成这一关键配置,确保你的Linux服务器既安全又易于管理。

Linux添加删除用户并赋予root权限
加载中
Linux添加删除用户并赋予root权限

为什么需要创建sudo用户而非直接使用root

许多初学者倾向于直接使用root账户登录,认为这样操作最便捷,这种做法在生产环境中是被严格禁止的,root账户拥有系统的绝对控制权,任何误操作都可能导致系统崩溃或数据永久丢失,相比之下,sudo用户拥有受限的管理权限,只有在执行特定命令时才需要提权,这为系统增加了一层安全屏障。

安全性与审计的双重保障

使用独立的sudo账户可以实现操作的可追溯性,当多个管理员共同维护服务器时,每个账户的操作日志都是独立的,如果发生安全事件,可以通过审计日志精准定位到具体的人员和操作时间,这种细粒度的权限控制,是大型团队运维的标准配置。

避免误操作导致的系统损坏

root账户下的命令执行没有任何缓冲,输入错误的rm命令可能会直接删除系统核心文件,而sudo用户默认只能执行普通命令,只有在明确调用sudo前缀时才能执行管理命令,这种机制迫使操作者在执行高危命令前进行二次确认,大大降低了误删数据的风险。

CentOS添加用户教程:新建具有sudo权限的非root账户

在CentOS 7及以上版本中,创建用户并赋予sudo权限的过程非常直观,你需要通过SSH连接到服务器,或者在本地终端打开命令行界面,确保你当前登录的是root账户,或者拥有sudo权限的现有账户。

CentOS如何新建sudo权限账户?centos添加用户并授权sudo

第一步:创建新用户

使用useradd命令创建新用户,建议为用户指定一个有意义的用户名,避免使用admin、test等通用名称,以减少被暴力破解的风险。

useradd -m -s /bin/bash newuser

这条命令中,-m参数会自动创建用户的主目录,-s /bin/bash指定用户的默认Shell为Bash,这是Linux中最常用的Shell环境,创建完成后,系统会在/home目录下生成对应的用户文件夹。

第二步:设置用户密码

创建用户后,该账户处于锁定状态,必须设置密码才能登录,使用passwd命令为新用户设置强密码。

passwd newuser

系统会提示你输入两次密码,Linux终端在输入密码时不会显示任何字符,包括星号,这是正常的安全机制,请确保密码包含大小写字母、数字和特殊符号,长度至少12位,以符合现代安全标准。

第三步:赋予sudo权限

赋予sudo权限有两种主要方法,第一种是直接修改sudoers文件,第二种是将用户加入wheel组,在CentOS系统中,wheel组默认拥有sudo权限,因此推荐第二种方法,因为它更易于管理和撤销。

usermod -aG wheel newuser

-a参数表示追加,-G参数表示指定附加组,这条命令将newuser用户添加到wheel组中,无需重启服务,配置立即生效。

验证sudo权限

你可以切换到新用户来验证权限是否生效。

su - newuser

切换到新用户后,尝试执行一条需要root权限的命令,例如查看系统日志。

sudo tail -f /var/log/messages

系统会提示你输入newuser的密码,输入正确后,命令即可成功执行,这表明sudo权限配置成功。

CentOS添加用户教程:配置sudoers文件的进阶技巧

CentOS如何新建sudo权限账户?centos添加用户并授权sudo

虽然加入wheel组是推荐做法,但在某些特殊场景下,你可能需要更精细地控制sudo权限,这时,直接编辑sudoers文件是必要的。

使用visudo编辑安全

严禁直接使用vi或nano编辑/etc/sudoers文件,如果语法错误,可能导致所有sudo用户无法使用权限,甚至无法恢复,必须使用visudo命令,它会在保存前检查语法错误。

visudo

打开文件后,找到wheel组的配置行,通常如下所示:

%wheel ALL=(ALL) ALL

这表示wheel组的所有用户可以执行任何命令,如果你希望限制特定用户只能执行特定命令,可以添加如下规则:

newuser ALL=(ALL) /usr/bin/systemctl, /usr/bin/journalctl

这表示newuser用户只能执行systemctl和journalctl命令,其他命令仍需root权限或无法执行,这种细粒度控制适用于只需要管理Web服务或查看日志的开发者。

免密码sudo的配置

在某些自动化脚本或CI/CD流程中,可能需要免密码执行sudo命令,为了安全起见,建议仅对特定命令配置免密码权限。

newuser ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx

这条规则允许newuser用户无需输入密码即可重启Ngin服务,这仅适用于特定命令,而非所有命令,从而在便利性与安全性之间取得平衡。

CentOS添加用户教程:常见问题排查与最佳实践

在实际操作中,可能会遇到权限拒绝或配置不生效的问题,以下是常见的排查步骤和优化建议。

权限拒绝的处理

如果执行sudo命令时提示“user is not in the sudoers file”,请检查用户是否已正确加入wheel组。

groups newuser

如果输出中没有wheel,说明添加组失败,请重新执行usermod命令,检查/etc/sudoers文件中是否包含%wheel行的注释,确保未被禁用。

CentOS如何新建sudo权限账户?centos添加用户并授权sudo

SSH密钥登录优化

为了进一步提升安全性,建议禁用root账户的SSH密码登录,仅允许密钥认证,为sudo用户配置SSH密钥,避免频繁输入密码。

ssh-copy-id newuser@your_server_ip

配置完成后,在/etc/ssh/sshd_config中设置PermitRootLogin no,并重启SSH服务,这样,即使root密码泄露,攻击者也无法直接通过SSH登录。

定期审计用户权限

随着团队规模扩大,用户权限可能变得混乱,建议定期审查sudoers文件和用户组配置,移除离职员工的账户,撤销不必要的sudo权限,据工信部数据,内部人员误操作或恶意行为是数据安全事件的主要来源之一,严格的权限管理是防范此类风险的关键。

CentOS添加用户教程:Q&A模块

如何删除具有sudo权限的用户?

删除用户可以使用userdel命令,如果希望同时删除用户的主目录和邮件池,请使用-r参数。

userdel -r newuser

删除后,该用户的所有文件将被清除,sudo权限也随之失效,如果仅需禁用账户而不删除文件,可以使用passwd -l newuser锁定密码。

sudo权限配置后未生效怎么办?

sudo权限配置通常立即生效,无需重启服务,如果未生效,首先检查用户是否已退出当前会话并重新登录,使用visudo -c命令检查sudoers文件语法是否正确,确认用户是否已正确加入wheel组或sudoers文件中是否有对应的规则。

如何限制sudo用户只能执行特定目录的文件?

sudo本身不支持直接限制文件目录,但可以通过配置sudoers文件中的命令路径来实现间接限制,只允许执行特定脚本目录下的脚本,可以使用Linux的ACL(访问控制列表)或SELinux策略来进一步限制用户对特定目录的访问权限,从而实现更细粒度的控制。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://test.idctop.com/article/474319.html

(0)
什么是cdn提供商,cdn服务商有哪些
上一篇 2026年7月9日 02:11
TCP零窗口探测机制是什么?
下一篇 2026年7月9日 02:12

相关推荐

  • setfacl在Linux中怎么用?,setfacl是什么

    setfacl是Linux系统中用于设置文件访问控制列表(ACL)的命令,它允许管理员对指定用户或组分配独立的读、写、执行权限,弥补了传统chmod只能设置所有者、组、其他人三组权限的不足,setfacl命令用法详解setfacl的语法围绕几条核心参数展开,掌握这些参数就能应对多数权限场景,基础命令格式分为修改……

    2026年7月20日
    800
  • SpinServers Chia币矿机套餐值得买吗,269美元月付矿机配置详情

    SpinServers的Chia币矿机套餐以269美元/月的价格提供双路E5-2690v4处理器及23TB SSD存储,是追求高性价比算力且希望规避硬件折旧风险的入门级选择,在Chia币(XCH)的挖矿生态中,算力竞争早已从单纯的硬盘容量比拼,转向了存储稳定性、网络吞吐效率以及整体运维成本的精细化考量,对于许多……

    2026年6月28日
    2400
  • 服务器修改地址无盘怎么做, 怎么修改邮寄地址

    服务器修改地址(IP或网络配置)时,无盘系统需同步更新启动镜像和DHCP设置;修改邮寄地址则需联系服务商或登录控制面板更新账户信息,服务器修改地址对无盘系统的影响与操作步骤服务器地址变动直接影响无盘客户端的启动链,这是很多管理员在调整网络后遇到的典型问题,无盘环境依赖固定的服务器IP作为启动入口,一旦地址更改而……

    2026年8月3日
    900
  • 安装网站模版视频教程,付费模板已停售怎么办

    付费模板(已停售)的安装核心在于环境兼容性检测与文件权限的精准配置,由于官方支持渠道关闭,安装过程中的报错排查与数据迁移必须依赖标准化的操作流程与本地备份机制,此类模板通常具备独特的设计架构,但缺乏持续更新,因此安装视频中的每一个步骤都至关重要,任何环境偏差都可能导致站点崩溃,严谨执行安装规范是复活此类高价值模……

    2026年4月8日
    10100
  • linux红外驱动怎么调试?linux红外驱动开发详解

    Linux红外驱动的核心在于通过IR子系统统一硬件抽象层,利用lirc或rc-core框架将底层信号转换为标准事件,从而实现即插即用的遥控器控制,在嵌入式开发或桌面Linux环境中,红外遥控往往被视为“老旧”技术,但在智能家居网关、机顶盒以及工业控制面板中,它依然是成本最低、稳定性最高的交互方案之一,许多开发者……

    2026年7月4日
    19900
  • bzz一个服务器到底能装多少个节点,节点数量上限是多少?

    一个服务器能装多少个BZZ节点,答案不是固定的数字,而是由CPU、内存、磁盘IOPS和带宽四个维度共同决定的,当前主流物理机配置下,多数情况建议控制在10到30个节点区间,超过这个范围收益性价比会明显下降,BZZ节点数量与硬件配置的底层关系BZZ节点本质上是运行在服务器上的Bee客户端进程,每个节点需要独立的数……

    2026年8月8日
    300
  • Linux各种Shell有什么区别,Bash和Zsh哪个更好用?

    Linux Shell 的主要区别与选择指南Shell 是用户与操作系统内核之间的交互接口,虽然它们的基本功能都是接收命令并执行,但在语法特性、交互体验和扩展性上存在显著差异,常见的 Shell 类型及其特点Bash (Bourne Again Shell)地位:Linux 世界的事实标准,绝大多数发行版(如……

    2026年7月14日
    300
  • api rp 573中文版是什么?api rp 573标准下载

    API RP 573中文版并非一个具体的“RP型号”查询工具,而是关于过程装置材料检验的行业标准指南,旨在帮助工程师识别和评估材料损伤机制,确保工业设施的安全运行,在石油化工、天然气处理以及电力生成等重工业领域,设备的安全运行是企业的生命线,许多刚接触这一领域的工程师或采购人员,常常会有一个误区,认为API R……

    2026年6月13日
    2400
  • 如何安装NFS服务端和客户端?Linux下NFS服务器配置教程

    在Linux环境中实现跨服务器文件共享,核心在于正确配置NFS服务端与客户端,通过挂载远程目录实现本地无缝访问,这是构建分布式存储和集群环境的基础操作,NFS(Network File System)作为网络文件系统的经典协议,至今仍是企业级应用中最常用的共享方案之一,它允许用户像访问本地硬盘一样访问远程服务器……

    2026年6月13日
    4300
  • 服务器8G一年到底多少钱呢,哪家最便宜?

    一台8G内存的云服务器,按年付费通常在2000元到6000元之间,具体取决于CPU、带宽、磁盘类型以及服务商品牌,这个价格区间覆盖了从轻量级业务到中等规模应用的主流需求,年付模式相比月付能节省10%-20%的成本,但不同配置和计费细节会让最终报价出现明显波动,影响8G服务器一年费用的关键因素CPU核心数:同内存……

    行业资讯 2026年8月9日
    1000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注