Linux 中的登入資訊與 UID 相關聯。但是,當我打開 sudoers 檔案時,sudoers 是由使用者名稱而不是 UID 定義的。
為什麼要使用使用者名稱而不是 UID?
sudoers 檔案usermod -l
運行時會自動更改嗎?
片段:
# User privilege specification
root ALL=(ALL:ALL) ALL
答案1
可以用UID來指示用戶。
來自ubuntu 的 sudoers wiki我們可以讀到:
您可以透過在註釋前加上 # 前綴來插入註釋,但這也可用於在文件的某些部分指定 uid(當註釋後面跟著數字時)。
後來在Runas 別名部分報道了一個例子:
# UID 0 is normally used for root # Note the hash (#) on the following line indicates a uid, not a comment. Runas_Alias ROOT = #0
當您這樣做時,
usermod -l
您不應該在 sudoers 中傳播更改。
確實從usermod 的手冊頁,比BSD一,我們可以讀到-l, --登入 NEW_LOGIN
使用者名稱將從 LOGIN 變更為 NEW_LOGIN。其他沒有改變。
特別是,使用者的主目錄名稱可能應該手動更改以反映新的登入名稱。-l
如果您僅指定參數,這似乎仍然意味著需要手動處理 sudoers 中的修改。可能您必須刪除舊用戶名並將使用者新增至 sudo 群組和sudo usermod -a -G sudo hduser
確實如此,事情發生在該用戶2008 年使用 Debian Sid 系統:
我曾經使用 XXX 作為使用者名稱登入我的 sid 筆記型電腦,XXX 位於 sudoers 檔案中。今天我將其更改為 YYY 使用
sudo usermod -l YYY XXX
我什麼也沒做。
現在我可以使用 YYY 登錄,但無法使用 root 密碼 su 到 root。另外「YYY」不在 sudoers 檔案中,所以現在我無法編輯 /etc/sudoers 以包含 YYY。
最後為什麼,也許您應該只能從以下位置獲得明確的答案托德·米勒誰在 1991 年完成了最後一個(獲勝的)sudo 分支,或者可能來自 Bob Coggeshall 或 Cliff Spencer(如果它來自 1980 年)[7]。
參考
- 這Ubuntu 的維基百科關於 sudoers。
- 這Runas 別名部分。
- 的手冊頁使用者模式。
- usermod 的手冊頁,BSD一。
- 詢問Ubuntu回答關於如何將使用者新增至 sudo 群組。
- 那個做事的人
usermod -l
。 - 一些歷史筆記關於須藤。
- 托德·米勒的首頁。