7 centos 配置sudo权限_Linux教程 CentOS系统中配置sudo访问

超级用户拥有Linux系统中的所有权限。

root用户是Linux系统中功能最强大的用户,可以在系统中执行任何操作。

如果有任何用户想要执行某些操作,请不要向任何人提供root用户访问权限,因为如果他/她做错了任何事情,则没有任何纠正方法。

要解决此问题,解决方案是什么?

我们可以向相应的用户授予sudo权限来克服这种情况。

sudo命令提供了一种机制,可为受信任的用户提供对系统的管理访问权,而无需共享root用户的密码。

他们可以执行大多数管理操作,但不能执行所有操作,例如root。

什么是sudo?

sudo是一个程序,普通用户可以使用该程序以超级用户或另一个用户的身份执行命令,由安全策略指定。

sudo用户访问由/etc/sudoers文件控制。

sudo用户的优势是什么?

Linux系统将日志保存到/var/log/secure和/var/log/auth.log文件中,您可以在其中验证sudo用户执行了哪些操作。

每次,它将提示输入密码以执行当前操作。因此,您将有时间来验证要执行的操作。如果您认为这是不正确的操作,则可以安全地退出自身而无需执行当前操作。

我们将指导您如何在CentOS系统中执行此操作,可以通过三种方式来完成。

Debian系统配置sudo访问权限 请点这里

CentOS系统下需要将用户添加到wheel组中。

/etc/group手动将用户添加到文件中。

/etc/sudoers使用 visudo 将用户添加到文件中。

方法1:如何在CentOS中使用Wheel Group向用户授予超级用户访问权限?

Wheel是基于RHEL的系统中的一个特殊组,它提供其他特权,这些特权使用户能够以超级用户身份执行受限命令。

请注意,wheel应在/etc/sudoers文件中启用该组以获得此访问权限。

# grep -i wheel /etc/sudoers

## 允许 wheel 组中的人运行所有命令

%wheel ALL=(ALL) ALL

# %wheel ALL=(ALL) NOPASSWD: ALL

我假设我们已经创建了一个用户帐户来执行此操作。就我而言,我将使用bash5用户帐户。

运行以下命令以将用户添加到 wheel 组。

# usermod -aG wheel bash5

我们可以通过运行以下命令来对它进行确认。

# getent group wheel

wheel:x:10:bash5

我将检查bash5用户是否可以访问root用户拥有的文件。

$ tail -5 /var/log/secure

tail: cannot open _/var/log/secure_ for reading: Permission denied

当我尝试以/var/log/secure普通用户身份访问文件时出现错误。我将使用sudo访问相同的文件,让我们看一下结果。

$ sudo tail -5 /var/log/secure

[sudo] password for bash5:

Mar 17 07:01:56 CentOS7 sudo: bash5 : TTY=pts/0 ; PWD=/home/bash5 ; USER=root ; COMMAND=/bin/tail -5 /var/log/secure

Mar 17 07:01:56 CentOS7 sudo: pam_unix(sudo:session): session opened for user root by bash5(uid=0)

Mar 17 07:01:56 CentOS7 sudo: pam_unix(sudo:session): session closed for user root

Mar 17 07:05:10 CentOS7 sudo: bash5 : TTY=pts/0 ; PWD=/home/daygeek ; USER=root ; COMMAND=/bin/tail -5 /var/log/secure

Mar 17 07:05:10 CentOS7 sudo: pam_unix(sudo:session): session opened for user root by bash5(uid=0)

方法2:如何使用 /etc/group 文件向 CentOS 中的普通用户授予超级用户访问权限?

我们可以通过编辑/etc/group文件将用户手动添加到wheel组中。

只需打开文件,然后将相应的用户添加到适当的组即可实现此目的。

$ grep -i wheel /etc/group

wheel:x:10:bash5,user1

在此示例中,我将使用user1用户帐户。

我将user1通过重新启动Apache系统中的服务来检查用户是否具有sudo访问权限。让我们来看看结果。

$ sudo systemctl restart httpd

[sudo] password for user1:

$ sudo grep -i user1 /var/log/secure

[sudo] password for user1:

Mar 17 07:09:47 CentOS7 sudo: user1 : TTY=pts/0 ; PWD=/home/user1 ; USER=root ; COMMAND=/bin/systemctl restart httpd

Mar 17 07:10:40 CentOS7 sudo: user1 : TTY=pts/0 ; PWD=/home/user1 ; USER=root ; COMMAND=/bin/systemctl restart httpd

Mar 17 07:12:35 CentOS7 sudo: user1 : TTY=pts/0 ; PWD=/home/user1 ; USER=root ; COMMAND=/bin/grep -i httpd /var/log/secure

方法3:如何在 CentOS 中使用 /etc/sudoers 文件向用户授予超级用户访问权限?

sudo用户访问由/etc/sudoers文件控制。因此,只需将用户添加到wheel组下的sudoers文件中即可。

只需使用visudo命令将所需的用户添加到 /etc/suoders 文件中即可。

# grep -i user2 /etc/sudoers

user2 ALL=(ALL) ALL

在此示例中,我将使用user2用户帐户。

我将user2通过重新启动系统中的MariaDB服务来检查用户是否具有sudo访问权限。让我们来看看结果。

$ sudo systemctl restart mariadb

[sudo] password for user2:

$ sudo grep -i mariadb /var/log/secure

[sudo] password for user2:

Mar 17 07:23:10 CentOS7 sudo: user2 : TTY=pts/0 ; PWD=/home/user2 ; USER=root ; COMMAND=/bin/systemctl restart mariadb

Mar 17 07:26:52 CentOS7 sudo: user2 : TTY=pts/0 ; PWD=/home/user2 ; USER=root ; COMMAND=/bin/grep -i mariadb /var/log/secure

你可能感兴趣的:(7,centos,配置sudo权限)