
在我的一些伺服器中,末尾有一條奇怪的行,/etc/passwd/
僅由以下內容組成:
+::::::
有誰知道這意味著什麼?
我在網上搜索,但只找到了一位吉姆在 2012 年提出的同樣的、未回答的問題:
任何人都知道這在 Linux SLES 11 中意味著什麼以及可以將其刪除嗎
(看https://www.cyberciti.biz/faq/understanding-etcpasswd-file-format/)。
有問題的伺服器運行SLES 12
,其他的Ubuntu bionic
。
答案1
我從以下 Unix stackexchange 答案中重新發布了以下內容:
https://unix.stackexchange.com/questions/106215/whta-does-bin-bash-in-etc-passwd-mean
答案就在 nsswitch.conf(5) 手冊頁:
與 +/- 語法互動(相容模式)
沒有 NYS 的 Linux libc5 沒有名稱服務開關,但允許使用者進行一些策略控制。在/etc/passwd 中,您可以具有以下形式的條目:+user 或+@netgroup(包括NIS passwd 映射中的指定用戶)、-user 或-@netgroup(排除指定用戶)和+(包括每個用戶,除了 NIS passwd 映射中排除的那些)。
您可以使用 /etc/passwd 中的擴充形式 +user:::::: 從 NIS 密碼對映中覆寫特定使用者的某些密碼欄位。非空字段會覆蓋 NIS 密碼映射中的資訊。
由於大多數人只在/etc/passwd 末尾添加+ 來包含NIS 中的所有內容,因此該開關為這種情況提供了更快的替代方案(passwd: files nis),不需要/etc/passwd 中的單一+ 條目、/etc/group 和 /etc/shadow。如果這還不夠,NSS 相容服務提供完整的 +/- 語意。預設情況下,來源為 nis,但可以透過將 nisplus 指定為偽資料庫 passwd_compat、group_compat 和 Shadow_compat 的來源來覆寫此設定。這些偽資料庫僅在 GNU C 庫中可用。
答案2
正如 Lukas Räpple 在評論中指出的那樣,該行是將 NIS 與古老的 libc5 一起使用的遺留條目。
如果您想繼續使用 NIS 但刪除該行,請將該passwd: compat
行變更/etc/nsswitch.conf
為passwd: files nis
first。您還應該檢查shadow:
和group:
行(和/etc/group
和/etc/shadow
文件)是否有類似的舊設定。