Security
www-data 使用者是否需要真正的外殼?
有趣的是,在我安裝了 nginx 的 Ubuntu 衍生產品上
apt
,www-data
使用者有一個 shell:$ cat /etc/passwd www-data:x:33:33:www-data:/var/www:/bin/sh
這不應該設置為類似的東西
/bin/false
嗎?就算使用者不能登錄,像這樣預設給系統使用者提供shell不是很危險嗎?
好吧
/bin/false
(或者/bin/true
如果你是一個積極的人)是一個真正的外殼 - 它只是不是一個互動式外殼 :-)/sbin/nologin
在一些系統上也有同樣的目的。至於您的 Apache 使用者是否需要互動式 shell(類似於
bash
),正如其他人所說的那樣,答案是“通常不需要”。將 Apache 使用者的 shell 設置為非互動的東西通常是一種很好的安全實踐(實際上所有不必以互動方式登錄的服務使用者都應該將他們的 shell 設置為非互動的東西)。
遊覽像您這樣的現有環境,嘗試一下,看看是否有任何問題。
如果沒有任何問題,從現在開始使用非互動式 shell。
如果出現問題,請嘗試在不恢復互動式 shell 的情況下修復它 :-)