Linux中的root用户可以完全控制Linux。在Linux中,root是具有最高权限的用户,可以在系统中执行任意行为。
如果其他用户想要实现某些行为,则他们无法为每个人提供root访问权限。因为如果他或她做错了什么,就没有办法纠正它。
为了解决这个问题,有什么计划吗?
我们可以通过向适当的用户发出sudo权限来解决这个问题。
sudo命令提供了一种机制,可以为系统管理员提供可信用户,而无需共享root用户的密码。
他们可以执行大多数管理操作,但是他们没有像root这样的完整权限。
什么是sudo?
Sudo是普通用户可以用来执行命令的程序,如安全策略所指定的超级用户或其他用户。
sudo用户的访问权限由/etc/sudoers文件控制。
sudo用户有哪些优势?
在Linux系统上,如果您不熟悉命令,sudo是一种安全的运行方式。
Linux系统将日志保存在/var/log/secure和/var/log/auth.log文件中,您可以验证sudo用户已实现的行为。
每次输入当前操作提示的密码。因此,您将有时间验证此操作是否是您要执行的操作。如果您发现它不是正确的行为,您可以安全地退出并且不要这样做。
基于RHEL的系统(如Redhat(RHEL),CentOS和Oracle Enterprise Linux(OEL))和基于Debian的系统(如Debian,Ubuntu和LinuxMint)在这一点上并不相同。
我们将在本文中提到的两个版本中教您如何执行此操作。
有两种方法可以应用于两个版本。
将用户添加到适当的组。对于基于RHEL的系统,我们需要将用户添加到wheel组。基于Debain的系统,我们将用户添加到sudo或admin组。手动将用户添加到/etc/group文件。
使用visudo命令将用户添加到/etc/sudoers文件中。
如何在RHEL/CentOS/OEL系统中配置sudo访问?
在基于RHEL的系统(如Redhat(RHEL),CentOS和Oracle Enterprise Linux(OEL))中,可以使用以下三种方法。
方法1:如何使用wheel组授予Linux中普通用户的超级用户访问权限?
Wheel是基于RHEL的系统中的一个特殊组,它提供额外的权限来授权用户执行超级用户等受限命令。
请注意,应在/etc/sudoers文件中激活wheel组以获得此访问权限。
#grep -i wheel/etc/sudoers
##允许组轮中的人员运行所有命令
%wheel ALL=(ALL)ALL
#%wheel ALL=(ALL)NOPASSWD: ALL
假设我们已经创建了一个用户帐户来执行这些操作。在这里,我将使用daygeek用户帐户。
执行以下命令将用户添加到wheel组。
#usermod -aG wheel daygeek
我们可以通过以下命令确定这一点。
#getent group wheel
轮: x: 10: daygeek
我将检测用户daygeek是否可以访问属于root用户的文件。
$ tail -5/var/log/secure
尾部:无法打开/var/log/secure读取:权限被拒绝
当我尝试以普通用户身份访问/var/log/secure文件时发生错误。我将使用sudo访问同一个文件,让我们来看看这个魔术。
$ sudo tail -5/var/log/secure
[sudo]密码为daygeek:
Mar 17 07: 01: 56 CentOS7 sudo: daygeek: TTY=pts/0; PWD=/home/daygeek; USER=root; COMMAND=/bin/tail -5/var/log/secureMar 17 07: 01: 56 CentOS7 sudo: pam_unix(sudo: session):会话由用户root为daygeek打开(uid=0)
Mar 17 07: 01: 56 CentOS7 sudo: pam_unix(sudo: session):会话因用户root而关闭
Mar 17 07: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Mar 17 07: 05: 10 CentOS7 sudo: pam_unix(sudo: session):会话由用户root为daygeek打开(uid=0)
方法2:如何使用RHEL/CentOS/OEL中的/etc/group文件向普通用户授予超级用户访问权限?
我们可以通过编辑/etc/group文件手动将用户添加到wheel组。
只需打开文件并将相应的用户附加到相应的组即可完成此操作。
$ grep -i wheel/etc/group
Wheel: x: 10: daygeek,user1
在此示例中,我将使用用户帐户user1。
我将通过重新启动系统上的Apache httpd服务来检查用户user1是否具有sudo访问权限。让我们来看看这个魔术。
$ sudo systemctl restart httpd
user1:的[sudo]密码
$ sudo grep -i user1/var/log/secure
user1:的[sudo]密码
Mar 17 07: 09: 47 CentOS7 sudo: user1: TTY=pts/0; PWD=/home/user1; USER=root; COMMAND=/bin/systemctl重启httpdMar 17 07: 10: 40 CentOS7 sudo: user1: TTY=pts/0; PWD=/home/user1; USER=root; COMMAND=/bin/systemctl重启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:如何使用Linux中的/etc/sudoers文件向普通用户授予超级用户访问权限?
sudo用户的访问权限由/etc/sudoers文件控制。因此,只需将用户添加到sudoers文件中的wheel组即可。
只需使用visudo命令将所需用户附加到/etc/sudoers文件即可。
#grep -i user2/etc/sudoers
User2 ALL=(ALL)ALL