在CentOS Linux 8 sudoers上添加/创建Sudo用户
如何使用命令行在CentOS Linux 8上添加/创建sudo用户?
如何将CentOS 8用户添加到sudoers文件?
CentOS是一个免费和开源的Enterprise Linux发行版,它是从上游发行版(称为Red Hat Enterprise Linux(RHEL))派生而来的。
CentOS主要用于服务器和集群。
sudo命令允许用户使用其他用户(默认情况下为root用户)的安全特权运行程序。
/etc/sudoers文件包含sudo命令使用的系统用户和组的安全策略。
本页说明如何在CentOS Linux 8系统上添加新的sudo用户。
在CentOS 8上添加或创建sudo用户的过程
- 打开终端应用程序
- 对于远程CentOS服务器,请使用ssh命令并使用su或sudo以root用户身份登录。
- 创建一个名为tom的新CentOS用户,运行:
useradd tom
。 - 设置密码,执行:
passwd tom
- 在CentOS Linux 8上使tom用户成为sudo用户,运行:
usermod -aG wheel tom
。 - 通过运行
id tom
命令进行验证
让我们详细查看所有命令和示例。
登录到CentOS服务器
运行ssh命令:
$ ssh root@centos8-server
要么
$ ssh Hyman@centos-8-server-ip
接下来,以root用户身份登录:
$ su
要么
$ sudo -i
如何在CentOS上创建新的sudo用户
首先从命令行创建一个新的CentOS用户帐户。
例如,创建marlena用户帐户,运行:
# adduser marlena
通过键入以下passwd命令来设置marlena用户的密码:
# passwd marlena
创建了一个新的用户帐户。
验证一下:
# id marlena
在CentOS 8 Linux服务器中,wheel组的所有成员都具有sudo访问权限。
因此,您要做的就是使用usermod命令命令将用户帐户附加到wheel组:
# usermod -aG wheel marlena
用户帐户marlena现在具有sudo特权。
通过在/etc/passwd和/etc/group文件上运行id命令或grep命令来验证它:
# id marlena # grep '^marlena' /etc/passwd # grep '^wheel' /etc/group
如何测试sudo用户访问
您可以如下测试sudo访问。
使用ssh或终端以marlena用户身份登录:
ssh marlena@centos-8-server ## OR ## ssh [email protected] ## verify current user id ## id ## Now, gain root shell ## sudo -i ## Verify id again ## id ## Run command as root ## sudo systemctl status sshd.service sudo ls -l /root/
之后注销:
exit
关于新帐户补充组的说明
此外,可以在单个命令中添加新用户并将其添加到车轮组。
例如,添加一个名为wendy的新用户,并将seconday组成员资格设置为wheel,如下所示:
# adduser -G wheel {userName} # adduser -G wheel wendy # passwd wendy # id wendy
输出示例:
uid=1001(wendy) gid=1001(wendy) groups=1001(wendy),10(wheel)
如何在CentOS上向sudo授予或添加现有用户帐户
假设您需要添加现有的用户帐户并授予她的管理权限。
在这种情况下,我将通过将用户添加到wheel组来为现有的名为Hyman的用户提供sudo访问权限:
# usermod -aG wheel {username} # usermod -aG wheel Hyman # id Hyman
换句话说,我们使用usermod命令为现有用户配置和授予sudo访问权限。
如何查看sudo管理员特权日志
使用sudo委派管理员权限是一个好主意,因为它会在日志文件中跟踪用户帐户。
最重要的是,这是一种良好的安全做法。
例如,键入以下grep命令/egrep命令/tail命令:
# tail -f /var/log/secure # grep marelna /var/log/secure # grep marlena /var/log/secure | grep -i command
输出示例:
Dec 3 17:42:05 centos-8 sudo[603]: marlena : TTY=pts/0 ; PWD=/home/marlena ; USER=root ; COMMAND=/bin/bash Dec 3 17:42:56 centos-8 sudo[691]: marlena : TTY=pts/0 ; PWD=/home/marlena ; USER=root ; COMMAND=/bin/bash Dec 3 17:43:10 centos-8 sudo[711]: marlena : TTY=pts/0 ; PWD=/home/marlena ; USER=root ; COMMAND=/bin/systemctl status sshd.service Dec 3 17:44:22 centos-8 sudo[720]: marlena : TTY=pts/0 ; PWD=/home/marlena ; USER=root ; COMMAND=/bin/bash Dec 3 17:45:52 centos-8 sudo[750]: marlena : TTY=pts/0 ; PWD=/home/marlena ; USER=root ; COMMAND=/bin/systemctl enable nginx.service Dec 3 17:49:57 centos-8 sudo[813]: marlena : TTY=pts/0 ; PWD=/home/marlena ; USER=root ; COMMAND=/bin/bash Dec 3 17:50:09 centos-8 sudo[840]: marlena : TTY=pts/0 ; PWD=/home/marlena ; USER=root ; COMMAND=/bin/ls /root/ Dec 3 17:50:13 centos-8 sudo[843]: marlena : TTY=pts/0 ; PWD=/home/marlena ; USER=root ; COMMAND=/bin/ls -l /root/ Dec 3 18:17:03 centos-8 sudo[884]: marlena : TTY=pts/0 ; PWD=/home/marlena ; USER=root ; COMMAND=/bin/date
同样,安全策略可能会记录使用sudo的成功和失败尝试。
另外,如果配置了I/O插件,则正在运行的命令输入和输出也可能会记录在日志文件中。
sudo命令比su更好,并且可以为其他用户运行的所有管理任务保留详细的日志。
因此,sudo是在CentOS服务器上授予管理员权限的正确选择。
关于在CentOS 8中删除用户帐户的注释
语法如下:
# userdel -r {userName}
例如,删除用户marlena也会删除她通过sudo授予的管理员权限:
# userdel -r marlena