怎么选择五屏网站建设,腾讯企业邮箱格式,手机自适应网站源码,wordpress糗事百科主题Linux 系统中 root 用户拥有 Linux 中全部控制权力。Linux 系统中 root 是拥有最高权力的用户#xff0c;可以在系统中实施任意的行为。如果其他用户想去实施一些行为#xff0c;不能为所有人都提供 root 访问权限。因为如果他或她做了一些错误的操作#xff0c;没有办法去纠…Linux 系统中 root 用户拥有 Linux 中全部控制权力。Linux 系统中 root 是拥有最高权力的用户可以在系统中实施任意的行为。如果其他用户想去实施一些行为不能为所有人都提供 root 访问权限。因为如果他或她做了一些错误的操作没有办法去纠正它。为了解决这个问题有什么方案吗我们可以把 sudo 权限发放给相应的用户来克服这种情况。sudo 命令提供了一种机制它可以在不用分享 root 用户的密码的前提下为信任的用户提供系统的管理权限。他们可以执行大部分的管理操作但又不像 root 一样有全部的权限。什么是 sudosudo 是一个程序普通用户可以使用它以超级用户或其他用户的身份执行命令是由安全策略指定的。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 : TTYpts/0 ; PWD/home/daygeek ; USERroot ; 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(uid0)
Mar 17 07:01:56 CentOS7 sudo: pam_unix(sudo:session): session closed for user root
Mar 17 07:05:10 CentOS7 sudo: daygeek : TTYpts/0 ; PWD/home/daygeek ; USERroot ; 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(uid0)方法 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 : TTYpts/0 ; PWD/home/user1 ; USERroot ; COMMAND/bin/systemctl restart httpd
Mar 17 07:10:40 CentOS7 sudo: user1 : TTYpts/0 ; PWD/home/user1 ; USERroot ; COMMAND/bin/systemctl restart httpd
Mar 17 07:12:35 CentOS7 sudo: user1 : TTYpts/0 ; PWD/home/user1 ; USERroot ; 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 : TTYpts/0 ; PWD/home/user2 ; USERroot ; COMMAND/bin/systemctl restart mariadb
Mar 17 07:26:52 CentOS7 sudo: user2 : TTYpts/0 ; PWD/home/user2 ; USERroot ; 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
%admin ALL(ALL) ALL# Allow members of group sudo to execute any command
%sudo ALL(ALL:ALL) ALL
假设我们已经创建了一个用户账号来执行这些操作。在此我将会使用 2gadmin 这个用户账号。执行下面的命令添加用户到 sudo 组。# usermod -aG sudo 2gadmin我们可以通过下面的命令来确定这一点。# getent group sudo
sudo:x:27:2gadmin我将要检测用户2gadmin是否可以访问属于 root 用户的文件。$ less /var/log/auth.log
/var/log/auth.log: Permission denied当我试图以普通用户身份访问/var/log/auth.log文件时出现错误。 我将要使用sudo访问同一个文件让我们看看这个魔术。$ sudo tail -5 /var/log/auth.log
[sudo] password for 2gadmin:
Mar 17 20:39:47 Ubuntu18 sudo: 2gadmin : TTYpts/0 ; PWD/home/2gadmin ; USERroot ; COMMAND/bin/bash
Mar 17 20:39:47 Ubuntu18 sudo: pam_unix(sudo:session): session opened for user root by 2gadmin(uid0)
Mar 17 20:40:23 Ubuntu18 sudo: pam_unix(sudo:session): session closed for user root
Mar 17 20:40:48 Ubuntu18 sudo: 2gadmin : TTYpts/0 ; PWD/home/2gadmin ; USERroot ; COMMAND/usr/bin/tail -5 /var/log/auth.log
Mar 17 20:40:48 Ubuntu18 sudo: pam_unix(sudo:session): session opened for user root by 2gadmin(uid0)或者我们可以通过添加用户到 admin 组来执行相同的操作。运行下面的命令添加用户到 admin 组。# usermod -aG admin user1我们可以通过下面的命令来确定这一点。# getent group admin
admin:x:1011:user1让我们看看输出信息。$ sudo tail -2 /var/log/auth.log
[sudo] password for user1:
Mar 17 20:53:36 Ubuntu18 sudo: user1 : TTYpts/0 ; PWD/home/user1 ; USERroot ; COMMAND/usr/bin/tail -2 /var/log/auth.log
Mar 17 20:53:36 Ubuntu18 sudo: pam_unix(sudo:session): session opened for user root by user1(uid0)方法 2在 Debian/Ubuntu 中如何使用 /etc/group 文件为普通用户授予超级用户访问权限我们可以通过编辑 /etc/group 文件来手动地添加用户到 sudo 组或 admin 组。只需打开该文件并在恰当的组后追加相应的用户就可完成这一点。$ grep -i sudo /etc/group
sudo:x:27:2gadmin,user2在该例中我将使用 user2 这个用户账号。我将要通过在系统中重启 Apache httpd 服务来检查用户 user2 是不是拥有 sudo 访问权限。让我们看看这个魔术。$ sudo systemctl restart apache2
[sudo] password for user2:$ sudo tail -f /var/log/auth.log
[sudo] password for user2:
Mar 17 21:01:04 Ubuntu18 systemd-logind[559]: New session 22 of user user2.
Mar 17 21:01:04 Ubuntu18 systemd: pam_unix(systemd-user:session): session opened for user user2 by (uid0)
Mar 17 21:01:33 Ubuntu18 sudo: user2 : TTYpts/0 ; PWD/home/user2 ; USERroot ; COMMAND/bin/systemctl restart apache2方法 3在 Linux 中如何使用 /etc/sudoers 文件为普通用户授予超级用户访问权限sudo 用户的访问权限是被 /etc/sudoers 文件控制的。因此只需将用户添加到 sudoers 文件中的 sudo 或 admin 组下即可。只需通过 visudo 命令将期望的用户追加到 /etc/sudoers 文件中。# grep -i user3 /etc/sudoers
user3 ALL(ALL:ALL) ALL在该例中我将使用 user3 这个用户账号。我将要通过在系统中重启 MariaDB 服务来检查用户 user3 是不是拥有 sudo 访问权限。让我们看看这个魔术。$ sudo systemctl restart mariadb
[sudo] password for user3:$ sudo tail -f /var/log/auth.log
[sudo] password for user3:
Mar 17 21:12:32 Ubuntu18 systemd-logind[559]: New session 24 of user user3.
Mar 17 21:12:49 Ubuntu18 sudo: user3 : TTYpts/0 ; PWD/home/user3 ; USERroot ; COMMAND/bin/systemctl restart mariadb
Mar 17 21:12:49 Ubuntu18 sudo: pam_unix(sudo:session): session opened for user root by user3(uid0)
Mar 17 21:12:53 Ubuntu18 sudo: pam_unix(sudo:session): session closed for user root
Mar 17 21:13:08 Ubuntu18 sudo: user3 : TTYpts/0 ; PWD/home/user3 ; USERroot ; COMMAND/usr/bin/tail -f /var/log/auth.log
Mar 17 21:13:08 Ubuntu18 sudo: pam_unix(sudo:session): session opened for user root by user3(uid0)