在CentOS中向用户添加,删除和授予Sudo特权

一种 "sudo" 用户可以运行不允许普通用户执行的管理任务或命令。 本指南说明了如何添加,删除和授予 sudo 在CentOS和其他基于RHEL的系统中授予用户特权。 下面给出的步骤已经在CentOS 8最低版本中进行了测试,但是它也应该在其他基于RPM的系统上工作。

什么是须藤?

一般而言,在Linux和Unix中, sudo 该程序允许普通用户暂时获得 超级用户 要么 root 用户的能力。 使用 sudo 命令,普通用户可以执行管理任务,甚至无需访问 root 用户的密码。 而不是放弃 root 密码给任何人,只需分配 sudo 用户权限以提升他们的特权。 “ sudo”一词最初来自“su使用者 ”,因为它主要用于执行超级用户的任务。现在,它也代表“替代用户”。

sudo用户的好处

成为一个 sudo 用户具有以下优点:

  • 系统管理员不需要共享 root 所有用户密码。
  • 普通用户可以执行管理任务,即使他/她不知道 root 密码。
  • sudo权限可以随时授予用户和从用户撤消。
  • sudo会话将在用户闲置特定时间后自动过期。 当用户忘记注销其会话时,此功能非常有用。 默认情况下,sudo会话将在闲置15分钟后过期。
  • 系统管理员可以监视所有sudo用户的活动。 所有sudo用户的活动均已登录 /var/log/secure 文件。 如果有任何问题,您可以查看日志文件并尝试找出问题所在。 您还会发现谁在滥用sudo特权,您只需撤销他的许可即可。

在CentOS中向用户添加,删除和授予Sudo特权

以以下身份登录到您的CentOS系统 root 用户或具有sudo权限的任何用户。 首先,让我们向新用户添加sudo特权。

1.在CentOS中添加sudo用户

让我创建一个名为“ senthil”的新用户。 为此,我将以下命令运行为 root 终端用户:

# adduser senthil

为新用户“ senthil”设置密码:

# passwd senthil

现在,我们创建了一个法线。 他尚未被授权执行任何管理任务。 让我们检查用户“ senthil”是否可以使用 sudo 命令:

# sudo -l -U senthil

样本输出:

User senthil is not allowed to run sudo on centos8

检查用户是否在centos中具有sudo特权

是的,他尚未被允许跑步 sudo 在我的CentOS 8系统上。 让我们给他 sudo 现在。

2.向CentOS中的用户授予sudo特权

要将普通用户添加到sudoers组,您需要将其添加到 wheel 组。 对于那些想知道的 wheel 在某些类Unix操作系统中是一个特殊的组。 的所有成员 wheel 允许组执行管理任务。 轮组类似于 sudo 基于Debian的系统中的组。

我们可以通过两种方式将用户添加到sudoers中。 第一种方法是使用 chmod 命令。

2.1。 使用将用户添加到sudoers usermod CentOS中的命令

现在,让我们通过将新创建的用户“ senthil”添加到sudo特权中,向其授予sudo特权。 wheel 分组使用 usermod 如下命令:

# usermod -aG wheel senthil

使用将用户添加到sudoers usermod CentOS中的命令

这里, -aG 指添加到补充组。 在我们的情况下 wheel 组。 就是这样,我们刚刚向用户“ senthil”授予了sudo权限。

让我们使用以下命令验证用户是否在sudoers列表中:

# sudo -l -U senthil

样本输出:

Matching Defaults entries for senthil on centos8:
    !visiblepw, always_set_home, match_group_by_gid,
    always_query_group_plugin, env_reset, env_keep="COLORS DISPLAY
    HOSTNAME HISTSIZE KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR
    USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE
    LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY
    LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL
    LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
    secure_path=/sbin:/bin:/usr/sbin:/usr/bin

User senthil may run the following commands on centos8:
    (ALL) ALL

检查用户是否在centos中具有sudo权限检查用户是否在centos中具有sudo权限

如您在以上输出的最后一行中看到的那样,用户“ senthil”现在可以执行所有命令。

2.2。 通过在CentOS中编辑sudoers配置文件将用户添加到sudoers

将用户添加到sudoers列表的另一种方法是将用户直接添加到sudoers配置文件中。

使用以下命令编辑sudoers配置文件:

# visudo

这将打开 /etc/sudoers 档案在 编辑器或您拥有的任何内容 $PATH。 向下滚动,直到找到以下条目:

root    ALL=(ALL)       ALL

在上面的条目之后,添加以下行:

senthil ALL=(ALL)       ALL

在CentOS的sudoers配置文件中添加用户在CentOS的sudoers配置文件中添加用户

在这里,线 ALL=(ALL) ALL 指用户“ senthil”可以在任何主机上执行任何命令。 用您自己的用户名替换“ senthil”。 保存并关闭文件。 做完了! 用户“ senthil”已添加到sudoers列表中。

2.3。 在CentOS中验证sudo用户

从当前会话注销,然后以新创建的sudo用户身份登录。 或者,您可以使用以下命令直接切换到其他用户,而不必退出当前会话:

# sudo -i -u senthil

现在,验证用户是否可以执行以下任何管理任务: sudo 允许:

$ sudo dnf update

验证sudo用户验证sudo用户

3.在CentOS中从用户删除sudo特权

我们可以从用户中删除sudo特权,而不必完全删除用户帐户。

要撤消用户的sudo权限,只需运行以下命令即可: root 用户:

# gpasswd -d senthil wheel

样本输出:

Removing user senthil from group wheel

在CentOS中从用户删除sudo特权在CentOS中从用户删除sudo特权

上面的命令将删除名为 "senthil" 来自 "wheel" 组。 请注意,用户并未完全从系统中删除。 我们仅删除了sudo特权。

检查用户是否能够执行sudo操作:

# sudo -l -U senthil
User senthil is not allowed to run sudo on centos8.

好, senthil 已不在sudoers组中,并且他无法执行任何管理任务。

要从系统中永久删除用户,请运行:

$ userdel -r senthil

上面的命令将删除用户“ senthil”及其用户 home 目录和邮件后台处理程序。

有关更多详细信息,请参见相应命令的手册页:

$ man sudo
$ man adduser
$ man gpasswd
$ man userdel

结论

您现在知道如何在CentOS操作系统中向用户添加,删除和授予sudo特权。 如您所见,将新用户添加到sudoers列表,向现有用户授予sudo权限并从用户中删除sudo权限非常容易。 希望这可以帮助。

相关阅读:

  • 如何在Ubuntu中向用户添加,删除和授予Sudo特权
  • 如何在Linux中更改Sudo密码超时
  • 如何在Linux中更改默认的Sudo日志文件
  • 如何将Sudo特权还原给用户
  • 如何在Linux系统中查找所有Sudo用户
  • 如何在Linux中不使用Sudo密码运行特定命令

LinuxLinux基础Linux命令sudo用户管理用户权限

Sidebar