C在CentOS上向用户添加,删除和授予Sudo权限

“ sudo”用户可以运行管理任务或命令,而普通用户则不允许。

本教程说明了如何向CentOS用户和其他基于RHEL的系统添加,删除和授予sudo特权。

以下步骤已在最小的CentOS 8版本上进行了测试,但是它也应在其他基于RPM的系统上运行。

什么是须藤?

通常,在Linux和Unix上,sudo允许普通用户临时获得超级用户或root用户功能。

使用sudo命令,普通用户甚至无需访问root密码即可执行管理任务。

不必给某人root密码,只需给用户sudo特权即可提升他们的特权。

单词“ sudo”最初来自“ superuser do”,因为它主要用于执行超级用户任务。

现在,它也意味着“替代用户”。

使用sudo的好处

使用sudo有很多好处,如下所示:

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

在CentOS上向用户添加,删除和授予Sudo权限

以root或具有sudo特权的任何用户登录到CentOS系统。

首先,让我们向新用户添加sudo特权。

1.将sudo用户添加到CentOS

让我创建一个名为“ senthil”的新用户。

为此,我将从终端以root用户身份运行以下命令:

# adduser senthil

为新的sendhil用户设置密码:

# passwd senthil

他尚未被授权执行任何管理任务。 让我们检查一下sendhil用户是否可以使用sudo命令:

# sudo -l -U senthil

输出示例:

User senthil is not allowed to run sudo on centos8

是的,还不允许他在我的CentOS 8系统上运行sudo,让我们现在给他sudo权限。

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

要将普通用户添加到sudoers组,您需要将其添加到wheel组。

对于那些好奇的人来说,wheel是某些类似Unix操作系统的特殊小组。

轮子组的所有成员都可以执行管理任务。

Wheel组类似于基于Debian的系统上的sudo组。

我们可以通过两种方式将用户添加到sudoers中。

第一种方法是使用chmod命令。

2.1。 在CentOS上使用usermod命令将用户添加到sudoers

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

# usermod -aG wheel senthil

这里-aG表示可选组。

在我们的例子中,这是车轮组。

就是这样,我们刚刚向sendhil授予了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

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

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

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

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

# visudo

系统将在Vi编辑器或$ PATH中的任何文件中打开/ etc / sudoers文件。

向下滚动,直到找到以下条目:

root    ALL=(ALL)       ALL

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

senthil ALL=(ALL)       ALL

此处行ALL =(ALL)ALL表示用户“ senthil”可以在任何主机上执行任何命令。 用您的用户名替换“ senthil”。 保存并关闭文件。 就这样。 用户“ senthil”已添加到sudoers列表中。

2.3。 在CentOS上检查sudo用户

注销当前会话,然后以新创建的sudo用户身份再次登录。

或者,您可以使用以下命令直接切换到其他用户,而无需退出当前会话:

# sudo -i -u senthil

现在检查用户是否可以使用sudo特权执行任何管理任务:

$ sudo dnf update

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

我们可以撤消用户的sudo权限,而无需完全删除其帐户。

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

# gpasswd -d senthil wheel

结论:

Removing user senthil from group wheel

上面的命令将从“ wheel”组中删除名为“ senthil”的用户。

请注意,用户并未完全从系统中删除。

我们只删除了sudo特权。

检查用户是否可以执行sudo操作:

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

好吧,senthil不再是sudoers组的成员,并且无法执行任何管理任务。

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

$ userdel -r senthil

上面的命令将删除用户“ senthil”以及他的主目录和邮件缓冲区。

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

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

结论

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

Sidebar