Security

/etc/shells 中的 nologin 很危險。為什麼?

  • February 19, 2019

我在網際網路上找到了這個,同時在 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 本意要說的完全相反。

引用自:https://serverfault.com/questions/328395