如何在 CentOS 中创建 Sudo 用户?

B站影视 韩国电影 2025-06-03 13:44 1

摘要:在 CentOS 系统中,sudo 是一个不可或缺的工具,它允许普通用户以超级用户权限执行特定任务,既提升了安全性,又增强了管理灵活性。本文将带你深入探索如何在 CentOS 中创建和管理 sudo 用户,覆盖用户创建、权限分配、高级配置、日志审计和安全加固,

在 CentOS 系统中,sudo 是一个不可或缺的工具,它允许普通用户以超级用户权限执行特定任务,既提升了安全性,又增强了管理灵活性。本文将带你深入探索如何在 CentOS 中创建和管理 sudo 用户,覆盖用户创建、权限分配、高级配置、日志审计和安全加固,步骤详尽,命令丰富,助你在 CentOS 7、8 或 Stream 上构建安全高效的用户体系。

确保系统就绪是创建 sudo 用户的第一步。

检查当前登录用户:

whoami输出如 root,说明你是超级用户。

检查 sudo 是否存在:

rpm -q sudo输出示例:sudo-1.8.23-10.el7.x86_64 表示已安装。未安装则执行:yum install sudo -y # CentOS 7dnf install sudo -y # CentOS 8 或 Stream

保持软件包最新:

yum update -y # CentOS 7dnf update -y # CentOS 8 或 Stream

sudo 权限需绑定到普通用户,以下创建一个名为 myadmin 的用户。

使用 adduser 创建:

adduser myadmin创建用户 myadmin 及主目录 /home/myadmin。

为用户设置安全密码:

passwd myadmin提示输入新密码,如 Secure@2025,确认后生效。建议密码包含大小写、数字、特殊字符,长度至少 8 位。

验证用户是否存在:

id myadmin输出示例:uid=1001(myadmin) gid=1001(myadmin) groups=1001(myadmin)。

新用户默认无 sudo 权限,需手动配置。

CentOS 中,wheel 组成员自动获得 sudo 权限。

执行:

usermod -aG wheel myadmin-a:追加组,保留现有组。-G:指定 wheel 组。

确认用户在 wheel 组:

groups myadmin输出示例:myadmin : myadmin wheel。

通过 /etc/sudoers 文件灵活配置权限。

安全编辑文件:

visudo打开 /etc/sudoers,避免语法错误。授予全部权限

在 # User privilege specification 下添加:

myadmin ALL=(ALL) ALL含义:myadmin:目标用户。ALL:任何主机。(ALL):以任何用户身份运行。ALL:所有命令。保存退出:按 Esc,输入 :wq,回车。

如仅允许重启和查看日志,添加:

myadmin ALL=(ALL) /usr/bin/systemctl start *, /usr/bin/systemctl stop *, /bin/cat /var/log/*测试权限

切换用户:

su - myadmin

测试 sudo:

sudo whoami输出 root 表示成功,需输入 myadmin 密码。

简化操作,免除密码输入。

运行:

visudo

添加:

myadmin ALL=(ALL) NOPASSWD: ALLNOPASSWD:无需密码。

切换到 myadmin:

su - myadmin

测试:

sudo dnf update -y应直接运行,无需密码。

限定用户从特定主机使用 sudo:

visudo

添加:

myadmin server.example.com=(ALL) ALL仅在 server.example.com 有效。命令别名

简化权限管理。

定义别名Cmnd_Alias ADMIN_TASKS = /usr/bin/systemctl, /usr/sbin/shutdown, /bin/rpmmyadmin ALL=(ALL) ADMIN_TASKS限制 myadmin 只能运行指定命令。

查看 wheel 组成员:

getent group wheel输出示例:wheel:x:10:myadmin,otheruser。

执行:

gpasswd -d myadmin wheel删除 myadmin 的 wheel 权限。

运行 visudo,注释或删除:

# myadmin ALL=(ALL) ALL删除用户

不再需要时删除:

userdel -r myadmin-r:移除主目录和相关文件。

操作记录默认存于 /var/log/secure。

查看日志

运行:

sudo less /var/log/secure示例记录:Jun 02 21:41:00 server sudo: myadmin : TTY=pts/0 ; PWD=/home/myadmin ; USER=root ; COMMAND=/usr/bin/whoamiDefaults logfile="/var/log/sudo_custom.log"

创建日志文件:

touch /var/log/sudo_custom.logchmod 600 /var/log/sudo_custom.log操作记录存于 /var/log/sudo_custom.log。强密码策略:密码复杂,定期更换。最小权限原则:避免过度授权,如 ALL=(ALL) ALL。备份 Sudoers:编辑前备份:cp /etc/sudoers /etc/sudoers.backup日志审计:定期检查:sudo grep 'sudo' /var/log/secure禁用 Root 登录:编辑 /etc/SSH/sshd_config:PermitRootLogin no

重启 SSH:

错误:密码无效解决:重置:错误:命令无权限解决:确认 /etc/sudoers 中的路径正确。

来源:wljslmz一点号

相关推荐