首頁 > 軟體

如何在CentOS 8上將使用者新增到Sudoers

2020-06-16 16:28:31

在今天的教學中,我們將重點關注將使用者新增到最新的CentOS發行版:CentOS 8的sudoers中。

sudo命令是Linux上最流行的命令之一。

它允許使用者以其他使用者的身份執行命令,該使用者預設情況下設定為以root使用者身份執行。

在CentOS 8中,有兩種將使用者新增到sudoers的方法:您可以將其新增到wheel組(類似於基於Debian發行版的sudo組),也可以將使用者新增到sudoers檔案。

以下是所使用的兩種方法的詳細資訊。

先決條件

為了向現有使用者授予sudo許可權,您將需要在CentOS 8主機上使用sudo命令。

首先,請確保主機上的軟體包是最新的,然後安裝sudo命令。

$ su -
$ yum update
$ yum install sudo

要驗證是否正確安裝了sudo命令,可以執行以下命令

$ sudo -l

將現有使用者新增到wheel組

將使用者新增到sudoers的第一種方法是將其新增到wheel組。

為了將您的使用者新增到該組,可以使用usermod或gpasswd命令。

$ sudo usermod -aG wheel <user>

另外,這是使用gpasswd命令的語法。

[root@localhost www.linuxidc.com]# sudo gpasswd -a linuxidc wheel
正在將使用者“linuxidc”加入到“wheel”組中

使用groups命令確保使用者屬於wheel組。

$ su - <user>
(輸入使用者密碼)

$ groups
user wheel

如下圖:

或者,您可以在授予管理許可權的使用者上執行sudo命令。

[linuxidc@localhost ~]$ sudo -l
[sudo] linuxidc 的密碼:
匹配 %2$s 上 %1$s 的預設條目:
    !visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin,
    env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS",
    env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE",
    env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES",
    env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE",
    env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
    secure_path=/sbin:/bin:/usr/sbin:/usr/bin

使用者 linuxidc 可以在 localhost 上執行以下命令:
    (ALL) ALL

恭喜你!

您已在CentOS 8上將使用者新增到sudoers中。

在CentOS 8安裝過程中,如果您選擇不設定root密碼,則預設情況下您的root帳戶可能已被鎖定。 因此,如果需要解鎖密碼,則需要為root使用者帳戶設定密碼。

將現有使用者新增到sudoers檔案

授予管理許可權的另一種方法是將使用者新增到sudoers檔案中。

預設情況下,sudoers檔案預設位於/etc/sudoers。

該檔案包含一組規則,這些規則適用於確定誰對系統具有管理許可權,可以使用sudo特權執行哪些命令以及是否應提示輸入密碼。

但是,您不應該自己修改sudoers檔案,因為如果在此過程中犯任何錯誤,您可能會永遠被鎖定在主機之外。

不用自己修改sudoers檔案,而是要使用visudo。

Visudo是一種工具,可以在儲存sudoers檔案之前檢查輸入的命令的完整性和正確性。

要執行visudo,請鍵入以下命令

$ sudo visudo

您現在應該看到以下截圖:

在檔案末尾,新增以下行。

$ <user>      ALL=(ALL:ALL) ALL

以下是有關sudoers檔案的語法的一些詳細資訊。

預設情況下,將每五分鐘詢問一次帳戶密碼以執行sudo操作。

但是,如果您想要刪除這個密碼驗證,您可以設定NOPASSWD選項。

$ <user>      ALL=(ALL:ALL) NOPASSWD:ALL

如果要增加密碼驗證時間,則可以修改timestamp_timeout(以分鐘為單位)。

在下面顯示的範例中,系統將要求您每三十分鐘提供一次使用者密碼。

# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#

Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path = /sbin:/bin:/usr/sbin:/usr/bin
Defaults        timestamp_timeout=30

將組新增到sudoers檔案

在sudoers檔案中,您可以新增使用者,但也可以新增整個組,如果要為不同的組設定特定的規則,這將非常方便。

要將組新增到sudoers檔案,只需在行的開頭新增一個百分比符號。

$ %sysadmins      ALL=(ALL:ALL) NOPASSWD:ALL

使用groups命令確保您的使用者屬於designed組。

$ su - user
$ groups
user sysadmins

同樣,您可以通過更改密碼來測試更改是否已應用

$ sudo passwd

總結

在本教學中,您學習了如何通過使用usermod命令或更改sudoers檔案將使用者新增到CentOS 8上的sudoers中。


IT145.com E-mail:sddin#qq.com