Security
/etc/shells 中的 nologin 很危險。為什麼?
我在網際網路上找到了這個,同時在 FreeBSD 中建立了一個 FTP 伺服器。
將 nologin 放入 /etc/shells 可能會創建一個後門,這些帳戶可以通過該後門與 FTP 一起使用。
(見: http: //osdir.com/ml/freebsd-questions/2005-12/msg02392.html)
誰能解釋這是為什麼?為什麼複製 nologin 並將其放入 /etc/shells 可以解決這個問題?
/etc/shells
包含系統認為(不受限制的)shell 的二進製文件列表。這意味著任何將其中一個二進製文件配置為他們的 shell 的使用者都被認為對系統具有完全訪問權限(這意味著他們可以執行任何命令,只要他們有適當的權限)。最直接的結果是他們可以
chsh
用來改變他們配置的shell。如果使用者配置的 shell不在此列表中,則係統會假定他受到某種限制。在這種情況下
chsh
,意味著使用者無法更改該值。其他程序可能會查詢該列表並應用類似的限制。
因此,通過讓
nologin
您/etc/shells
有效地說“任何擁有nologin
其外殼的使用者都被視為完整的、不受限制的使用者”。這幾乎肯定與nologin
本意要說的完全相反。