Linux
禁用使用者“守護程序”的外殼 (/bin/false)
在 Linux 系統上,預設情況下有很多使用者:daemon、bin、sys、games 等。
根據我的 /etc/passwd 的說法,這些使用者中的大多數都分配了一個 shell (/bin/sh),這對我來說似乎有些不安全。我天真的想法會說:只給那些使用者一個可以登錄伺服器的shell。
我的想法錯了嗎?
如果不是完全錯誤:我可以禁用“守護程序”和“www-data”的外殼而不會產生副作用(例如係統無法啟動或 Apache PHP 無法執行系統呼叫)?
*補充:*我的發行版是 Debian Squeeze。
感謝您的提示!
我很好奇你在哪個 Linux 發行版中看到了這個,因為我知道的大多數發行版(我剛剛在 CentOS 和 Gentoo 上驗證了這一點)都像你所描述的那樣為這些使用者“禁用”了 shell。
所以,是的,將 shell 設置為
/bin/false
or是安全的/sbin/nologin
。但也許首先要弄清楚為什麼它們一開始沒有設置為那個值。也許這是您正在查看的系統的特定內容。對於 Debian(正如我在第一條評論中提到的),還有另一個可能相關的問題。您可以看到其他人也認為這是一個錯誤(錯誤 274229、錯誤 581899、錯誤 330882)