您的位置:制图网首页 -> 新闻动态 -> sudo命令全称【普通用户加入什么组可以使用sudo命令】

热门排行

sudo命令全称【普通用户加入什么组可以使用sudo命令】

2023/1/31 来自于:制图网 点击:81
sudo命令全称【普通用户加入什么组可以使用sudo命令】

Linux 系统中 root 用户拥有 Linux 中全部控制权力。Linux 系统中 root 是拥有最高权力的用户,可以在系统中实施任意的行为。

-- Magesh Maruthamuthu

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:在 Linux 中如何使用 wheel 组为普通用户授予超级用户访问权限?

wheel 是基于 RHEL 的系统中的一个特殊组,它提供额外的权限,可以授权用户像超级用户一样执行受到限制的命令。

注意,应该在 /etc/sudoers 文件中激活 wheel 组来获得该访问权限。

# grep -i wheel /etc/sudoers

## Allows people in group wheel to run all commands

%wheel ALL=(ALL) ALL

# %wheel ALL=(ALL) NOPASSWD: ALL

假设我们已经创建了一个用户账号来执行这些操作。在此,我将会使用 daygeek 这个用户账号。

执行下面的命令,添加用户到 wheel 组。

# usermod -aG wheel daygeek

我们可以通过下面的命令来确定这一点。

# getent group wheel

wheel:x:10:daygeek

我将要检测用户 daygeek 是否可以访问属于 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 daygeek:

Mar 17 07:01:56 CentOS7 sudo: daygeek : TTY=pts/0 ; PWD=/home/daygeek ; 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 daygeek(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: daygeek : 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 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

[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:在 Linux 中如何使用 /etc/sudoers 文件为普通用户授予超级用户访问权限?

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

只需通过 visudo 命令将期望的用户追加到 /etc/sudoers 文件中。

# grep -i user2 /etc/sudoers

user2 ALL=(ALL) ALL

在该例中,我将使用 user2 这个用户账号。

我将要通过在系统中重启 MariaDB 服务来检查用户 user2 是不是拥有 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

在 Debian/Ubuntu 系统中如何配置 sudo 访问权限?

在基于 Debian 的系统中(如 Debian、Ubuntu 和 LinuxMint),使用下面的三个方法就可以做到。

方法 1:在 Linux 中如何使用 sudo 或 admin 组为普通用户授予超级用户访问权限?

sudo 或 admin 是基于 Debian 的系统中的特殊组,它提供额外的权限,可以授权用户像超级用户一样执行受到限制的命令。

注意,应该在 /etc/sudoers 文件中激活 sudo 或 admin 组来获得该访问权限。

# grep -i 'sudo\|admin' /etc/sudoers

# Members of the admin group may gain root privileges

制图网(www.makepic.net),专业的logo免费设计在线生成网站,全自动智能化logo设计,商标设计,logo在线生成!

欢迎使用制图网制作属于您公司自己的logo,不仅专业而且经济实惠,全方位满足您公司品牌化、视觉化的需求。

输入激活码

只需简单一步,使用微信扫码(或长按识别二维码)并在任一小程序首页根据提示获取激活码! chatGPT中文网页版,无需注册,快来体验全网最火爆的人工智能应用!
刻字印章刻章子定刻光敏盖章印订制(淘宝商家)

输入激活码

只需简单一步,使用微信扫码(或长按识别二维码)并在任一小程序首页根据提示获取激活码! chatGPT中文网页版,无需注册,快来体验全网最火爆的人工智能应用!
刻字印章刻章子定刻光敏盖章印订制(淘宝商家)