1. 用戶管理原則
禁用 root 用戶,嚴格控制 sudo 權限,合理分配普通用戶。
root 用戶,又稱超級用戶,在 Linux 系統中具有最高級別權限,並且不受系統安全設置的限制。例如,使用 !wq
可以無視權限強行修改文件內容,使用 rm -rf /
可以不加警告地刪除系統根目錄。在系統管理和日常使用中,應該禁用 root 用戶以保證系統安全。
對於系統管理需求,推薦設置專用的管理員用戶,賦予 sudo 權限,允許其臨時以 root 身份執行命令。管理員用戶數量不宜過多,需要嚴格控制。
對於日常使用需求,推薦合理地分配普通用戶。長期閒置無人管理的殭屍用戶是重要的安全風險,可以通過設置用戶有效期,自動封禁過期用戶。
2. 超級用戶管理
2.1 相關操作
sudo passwd root # 啓用 root 用戶並設置密碼
sudo passwd -l root # 禁用 root 用戶
sudo vim /etc/ssh/sshd_config # 修改 PermitRootLogin 禁止/允許 root 用戶遠程登錄
2.2 PermitRootLogin 可選項
/etc/ssh/sshd_config
用於配置遠程連接,其中 PermitRootLogin
指定 root 用戶通過 ssh 遠程連接時的登錄方式,如禁止登錄、禁止使用密碼登錄、僅允許密鑰登錄和開放登錄等,具體如下:
參數 | 解釋 | 是否允許遠程登陸 | 登錄方式 | 交互式shell |
---|---|---|---|---|
yes | 開放登錄 | 是 | 無限制 | 無限制 |
without-password | 禁止使用密碼登錄 | 是 | 不允許密碼 | 無限制 |
forced-commands-only | 僅允許密鑰登錄 | 是 | 僅允許密鑰 | 僅允許已授權的命令 |
no | 禁止登錄 | 否 |
3. 普通用戶管理
3.1 創建用戶
sudo adduser ubuntu # 根據提示輸入用戶名、登陸密碼、聯繫電話等必要信息
adduser
自動創建用戶目錄,通過文本指引配置密碼、shell 等用戶信息;
useradd
提供參數選項配置用戶信息,如果無參數,則創建的用戶無密碼、無主目錄、不指定 shell 腳本。
3.2 配置 sudo 權限
修改 /etc/sudoers
配置文件,添加/移除 sudo 權限。注意,用戶組權限配置會覆蓋用戶配置,爲用戶添加 sudo 權限的同時,應該同時修改其用戶組的權限配置。
user_name/group_name ALL=(ALL:ALL) ALL # 需要輸入密碼
user_name/group_name ALL=(ALL:ALL) NOPASSWD: ALL # 無需輸入密碼
3.3 刪除用戶
sudo userdel -r ubuntu # -r 刪除用戶目錄