Root

為什麼即使以 root 身份執行 groupmems 命令也要求輸入密碼

  • January 25, 2021

允許我們編輯組成員的命令有一個特殊的特點:當以 root 身份執行時,它會在嘗試為任何系統使用者編輯任何組成員groupmems時再次詢問 root 密碼。

事實上,它甚至在檢查該組是否存在之前,它甚至會先發製人地處理 root 密碼(它會在要求輸入密碼之前檢查使用者是否存在)

例如,如果您以groupmems -g 12345 -a nobodyroot 身份執行,它將要求您輸入 root 密碼,然後才讓您知道組 12345 不存在。

為什麼(以及實際上如何)為這個特定的命令以這種方式完成,考慮到root何時passwd /etc/sudoers以及……其他一切的全能。

此外,這部分直接取自man groupmems

groupmems 命令允許使用者管理他們自己的組成員列表,而無需超級使用者權限。groupmems 實用程序適用於將其使用者配置為以他們自己的名義主組(即來賓/來賓)的系統。

只有作為管理員的超級使用者可以使用 groupmems 來更改其他組的成員資格。

讓我想知道如果我root從組中刪除會發生什麼root。那麼 root 可能會失去將自己添加回組root的特權groupmems嗎?(我不想嘗試這個還不知道這個groupmems命令的行為

當我試圖閱讀它和使用它的組時,man我最終得到了這個有趣的花絮:

/etc/group 文件是一個文本文件,用於定義系統上的組。每行有一個條目,格式如下:

組名:密碼:GID:使用者列表

我個人從未group在 linux 中為 a 設置密碼。它會做什麼/完成/幫助?什麼時候會詢問它而不是賦予特定權限的使用者密碼?那麼屬於該特定組的每個使用者的密碼也可以作為組密碼嗎?

最後一件事man group和這一件事我們至少可以笑:

正如 4.2BSD initgroups(3) 手冊頁所說:似乎沒有人讓 /etc/group 保持最新。

“如何”是通過呼叫pam_authenticate. 我不知道為什麼,但是可以通過創建一個/etc/pam.d/groupmems包含以下內容的文件來消除這種行為:

auth       sufficient pam_rootok.so

在沒有 PAM 支持的情況下重新編譯groupmems是擺脫提示的另一種方法。

引用自:https://unix.stackexchange.com/questions/533260