Debian:如何安全地將使用者加入 sudoers 目錄

在 Debian 系統中,賦予現有使用者完整管理員權限最簡單、最安全的方法通常是將該帳戶新增至 sudosudo群組。 Debian 的預設 sudo 配置允許該群組的成員透過 sudo 運行命令sudo。通常情況下,您無需直接編輯 sudo檔案/etc/sudoers。

如果在 Debian 安裝過程中將 root 密碼留空,安裝程式通常會停用 root 使用者直接登錄,並透過 sudo 為第一個普通使用者授予管理權限。如果設定了 root 密碼,則可能無法安裝 sudo,或者您的使用者可能不屬於該sudo群組。 Debian 在其sudo 指南中對這兩種設定都有詳細說明。

檢查您的使用者是否已擁有 sudo 權限

打開終端並查看分配給您帳戶的群組:

groups

如果sudo輸出中出現該內容,請測試配置:

sudo whoami

輸入密碼後,正常的安裝程式應該會輸出訊息root。如果 shell 顯示“sudo: command not found安裝失敗”,請以 root 使用者身分安裝軟體包。如果提示您的使用者無權執行 sudo,請將該帳戶新增至 sudosudo使用者群組。

1. 如果需要,請取得 root 權限並安裝 sudo。

如果您知道 root 密碼,請啟動 root 登入 shell:

su --login
Debian 終端機顯示 su --login 指令和 root 密碼提示符
su --login當您需要 root 權限來安裝或設定 sudo 時使用。

然後使用 APT 安裝 sudo:

apt update
apt install sudo

Debian參考手冊將 sudo 描述為無需始終在 root shell 中工作即可委派管理權限的標準工具。

2. 將使用者加入 Debian 的 sudo 群組

仍然以 root 使用者身份,將替換alice為應該獲得 sudo 權限的帳戶:

adduser alice sudo
使用 Debian 終端機透過 adduser 指令將使用者 alice 新增至 sudo 群組。
將現有帳戶新增至sudo群組將授予該群組定義的權限。

您也可以使用usermod -aG sudo alice,但 Debian 特有的adduser USER GROUP形式很簡單,可以避免意外替換使用者的其他補充群組。

3. 登出,重新登錄,並驗證存取權限

新的群組成員身分通常不會套用於已開啟的登入工作階段。請完全登出桌面或 SSH 會話,然後重新登入。之後檢查帳戶並測試 sudo 命令:

groups alice
sudo whoami
Debian 終端機正在驗證 sudo 使用者群組成員身份並執行 sudo whoami 命令。
重新登入後,驗證使用者是否在sudo群組中,並且sudo whoami傳回結果root。

如果用戶剛剛被添加,但 sudo 仍然報告該帳戶無權運行命令,這通常是由於舊的登入工作階段造成的。 Debian 的 sudo 文件明確指出,群組成員資格會在登入時生效。

可選:建立每個使用者的 sudoers 規則

對於大多數 Debian 系統,上述組別方法就足夠了。如果您需要單獨設定 sudo 策略,則可以使用使用者層級規則。請勿/etc/sudoers使用普通編輯器開啟該文件。 visudo手冊解釋說,visudovisudo會鎖定文件並在應用更改之前檢查其語法。

以 root 使用者身份,建立一個名稱簡潔(不包含句點)的專用檔案:

visudo -f /etc/sudoers.d/alice

若要賦予alice其與典型 sudo 使用者相同的完整管理權限,請新增:

alice ALL=(ALL:ALL) ALL

儲存並退出編輯器,然後驗證完整的 sudoers 配置:

visudo -c
使用 visudo 在 Debian 終端機中編輯 /etc/sudoers.d 目錄下的文件,並驗證 sudoers 語法。
用於visudosudoers 更改,以便在語法問題導致管理員權限中斷之前將其捕獲。

Debian 建議將本機自訂規則保存在 `sudoers`檔案中,/etc/sudoers.d而不是修改主檔案。 `sudoers`手冊也指出,此目錄中名稱包含句點或以 `.` 結尾的檔案~會被跳過,因此像 `.` 這樣的名稱alice比 `.` 更安全alice.conf。

如何移除 sudo 存取權限

若要撤銷透過該群組授予的存取權限sudo,請以 root 使用者身分執行下列命令:

deluser alice sudo

Debian 的deluser 手冊確認,雙參數形式的指令會將使用者從特定群組中移除。請讓使用者登出並重新登錄,以使新的群組清單生效。

如果您也建立了其他規則/etc/sudoers.d/alice,僅從群組中移除帳戶是不夠的,因為該單獨規則仍然授予權限。請以 root 使用者移除或編輯該規則,然後visudo -c再次執行命令。

避免的常見錯誤

  • 請勿/etc/sudoers使用普通文字編輯器編輯。語法錯誤可能會導致無法使用 sudo 權限。
  • 請勿usermod -G sudo USER省略-a。該形式可以替換用戶的補充組列表,而不僅僅是添加 sudo。
  • 不要NOPASSWD隨意啟用。完全免密碼的 sudo 權限會增加使用者帳號被盜用的風險。
  • 請記得需要重新登入。新增或刪除群組不會追溯更改現有會話的憑證。

因此,對於標準的 Debian 工作站或伺服器,建議的路徑很簡單:如有必要,安裝 sudo,將帳戶新增至群組sudo,啟動新的登入會話,並在關閉 root shell 之前驗證結果。

留下評論

如何在 Linux 桌面系統上掃描二維碼

如何在 Linux 桌面系統上掃描二維碼

使用 CoBang 在 Linux 系統上透過網路攝影機或影像檔案掃描二維碼。查看 Flatpak 攝影機存取的安裝選項、設定步驟和修復方法。

如何在Linux系統上使用Cameractrls更改網路攝影機設置

如何在Linux系統上使用Cameractrls更改網路攝影機設置

使用 Cameractrls 在 Linux 上變更網路攝影機設定:調整曝光、色彩、減少閃爍和其他支援的控件,然後檢查相容的視訊模式。

如何在 Linux 上安裝 PhpStorm:工具箱、Tar.gz、Snap 和 AUR

如何在 Linux 上安裝 PhpStorm:工具箱、Tar.gz、Snap 和 AUR

在 Linux 系統上,您可以使用 JetBrains Toolbox 或獨立的 tar.gz 壓縮套件安裝 PhpStorm,此外還有 Snap 和 Arch AUR 版本可供選擇。 Java 已預先安裝。

如何在 Linux 系統上將 CD-ROM 備份為 ISO 文件

如何在 Linux 系統上將 CD-ROM 備份為 ISO 文件

在 Linux 上使用 GNOME Disks 或 dd 建立 CD-ROM ISO。識別光碟機,監控複製過程,驗證鏡像,並了解何時損壞的光碟或音訊光碟需要其他工具。

如何在 XFCE 4 上設定雙面板

如何在 XFCE 4 上設定雙面板

為每個顯示器建立一個單獨的 XFCE 4 面板,將第二個面板指派給正確的輸出,調整其位置和大小,並新增所需的啟動器和狀態項目。

如何在Linux上安裝Cisco Packet Tracer

如何在Linux上安裝Cisco Packet Tracer

下載適用於 Ubuntu 64 位元系統的 Cisco Packet Tracer 9.0.1,使用 APT 安裝 DEB 軟體包,在終端機中接受許可協議,然後登入以啟動實驗環境。

如何在Linux系統下使用GIMP摳圖

如何在Linux系統下使用GIMP摳圖

在 Linux 系統上使用 GIMP 去除照片背景:描繪主體,刪除選定的背景,保持透明度,並匯出可重複使用的 PNG 檔案。

免費下載 FlightGear:官方安裝指南

免費下載 FlightGear:官方安裝指南

從官方網站免費下載 FlightGear。比較 Windows、macOS 和 Linux 版本的軟體包,安裝資料文件,即可開始您的首次飛行。

Google Tasks桌面應用程式:如何在電腦上使用

Google Tasks桌面應用程式:如何在電腦上使用

在瀏覽器中開啟 Google Tasks,新增 Chrome 捷徑或應用程式啟動,並透過行事曆和 Gmail 管理有日期的待辦事項。

OKSampler:一款免費、簡單的鍵盤節拍音樂採樣器

OKSampler:一款免費、簡單的鍵盤節拍音樂採樣器

OKSampler 可以將 MP3 片段對應到鍵盤按鍵,並支援音訊循環播放。了解這款經典免費軟體的功能、其舊功能的缺失以及下載前需要檢查的事項。