本文主要介紹在 Linux 云服務(wù)器中如何使用 sudo 的相關(guān)知識。通過實(shí)際案例,向讀者展示了操作過程。操作方法簡單快捷,實(shí)用性強(qiáng),旨在幫助讀者解決相關(guān)問題。
第一步:安裝 sudo
CentOS
yum install sudo -y
Ubuntu/Debian
apt-get install sudo -y
FreeBSD
cd /usr/ports/security/sudo/ && make install clean
或者
pkg install sudo
第二步:創(chuàng)建 sudo 用戶
在 Linux 操作系統(tǒng)中,sudo 用戶是指普通用戶。以下以用戶名 zhaomu 為例,創(chuàng)建一個普通用戶。
CentOS/Ubuntu/Debian/FreeBSD
adduser zhaomu
第三步:將用戶添加到 wheel 組中
wheel 組是限制用戶以管理員身份執(zhí)行命令的用戶組,僅此用戶組中的成員才可以執(zhí)行 sudo 命令。在 Ubuntu/Debian 系統(tǒng)中,通常使用 sudo 組來替代 wheel 組的功能。
CentOS
usermod -aG wheel zhaomu
Ubuntu/Debian
usermod -aG sudo zhaomu
FreeBSD
pw group mod wheel -m zhaomu
第四步:配置 sudoers
sudo 的配置文件為 /etc/sudoers,需確保該配置文件正確無誤,以便正常執(zhí)行 sudo 命令。
CentOS/Ubuntu/Debian/FreeBSD
vi /etc/sudoers
或者
visudo
找到如下配置:
Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL
請確保您的 Linux 云服務(wù)器設(shè)置也與此相同。注意,有些 Linux 系統(tǒng)使用 %wheel 而非 %sudo,這同樣是正確的配置方式。
第五步:重啟 SSH 服務(wù)
如果您修改了 /etc/sudoers 文件,需重啟 SSH 服務(wù)以使更改生效。
CentOS 6
/etc/init.d/sshd restart
CentOS 7
systemctl restart sshd.service
Ubuntu/Debian
/etc/init.d/sshd restart
FreeBSD
/etc/rc.d/sshd start
第六步:測試
完成上述操作后,請退出遠(yuǎn)程登錄,再以 sudo 用戶身份重新登錄系統(tǒng),執(zhí)行以下命令測試 sudo 配置是否正確。
sudo uptime sudo whoami
其中 `sudo whoami` 應(yīng)返回 `root`。
執(zhí)行以下任一命令,可以從 sudo 用戶切換到 root 用戶。
sudo su - sudo -i sudo -S
第七步:禁止 root 用戶登錄
經(jīng)測試,若一切正常,則可進(jìn)行最后一步,即禁止 root 用戶登錄。需編輯 SSH 配置文件。
sudo vi /etc/ssh/sshd_config
使用 `:w/` 命令搜索以下配置,去除該行代碼前的注釋 ``,并將值設(shè)置為 `no`。
PermitRootLogin no
然后,根據(jù)第五步的說明重啟 SSH 服務(wù)。嘗試使用 root 用戶登錄系統(tǒng),如果登錄失敗,則表示設(shè)置成功。