幫助中心
這里有最新的使用文檔和教程
`sudo` 是在 Linux 和 Unix 操作系統中使用的命令,用于以超級用戶或管理員的身份運行其他命令。`sudo` 命令可以讓普通用戶在執行需要特權的操作時,臨時獲取管理員權限,而無需切換到 root 用戶。
`sudo` 的作用是在于提高系統安全性。通常情況下,為了保護系統的安全性,Linux 和 Unix 操作系統會將 root 用戶的權限限制為必要時才使用,而普通用戶只能訪問自己的文件和系統資源。使用 `sudo` 命令可以讓普通用戶在必要時暫時獲得 root 用戶的權限,執行需要特權的操作,而不必將整個系統暴露給普通用戶。
使用 `sudo` 命令時,需要輸入當前用戶的密碼,以確認用戶的身份。如果用戶沒有獲得 `sudo` 權限,使用 `sudo` 命令時將會提示用戶輸入管理員密碼。
第一步:安裝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
第二步:創建sudo用戶
sudo用戶就是在Linux操作系統中的一個普通用戶。下面以用戶名zhaomu為例,創建一個普通用戶。
CentOS/Ubuntu/Debian/FreeBSD
adduser zhaomu
第三步:把用戶添加到wheel組中
wheel組是一個限制用戶以管理員身份執行的用戶組,只有這個用戶組里的用戶才可以執行sudo命令。在Ubuntu/Debian操作系統中,sudo組通常用來替代wheel組的作用。
CentOS
usermod -aG wheel zhaomu
Ubuntu/Debian
usermod -aG sudo zhaomu
FreeBSD
pw group mod wheel -m zhaomu
第四步:配置sudoers
sudo的配置文件是/etc/sudoers,我們需要確保該配置文件沒有問題,這樣才能正常執行sudo命令。
CentOS/Ubuntu/Debian/FreeBSD
vi /etc/sudoers
或者
visudo
找到如下代碼:
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
請確保你使用的Linux云服務器也是這樣設置的。注意:有些Linux系統并不是%sudo,而是%wheel,這也是沒有問題的。
第五步:重啟SSH服務
如果你修改了/etc/sudoers文件,需要重啟SSH服務使之生效。
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
第六步:測試
完成之前的操作之后,請退出遠程登錄,再次以sudo用戶的身份登錄系統,執行以下命令測試sudo是否配置正確。
sudo uptime
sudo whoami
其中sudo whoami應該返回root。
執行以下任一條命令,將會從sudo用戶切換到root用戶。
sudo su -
sudo -i
sudo -S
第七步:禁止root用戶登陸
經過測試,如果一切正常,就可以執行最后一步了,也就是禁止root用戶登錄。我們需要編輯SSH的配置文件。
sudo vi /etc/ssh/sshd_config
使用:w/命令搜索以下代碼,刪除這行代碼前面的注釋#,并把值設置為no。
PermitRootLogin no
接下來,參照第五步的說明重啟SSH服務。嘗試用root用戶登錄系統,如果無法登錄,說明設置成功了。