
我正在對我的 CentOS 機器進行 Tiger 安全審核,以確保伺服器適合在線,並且盡可能接近。
nobody
我注意到有關用戶擁有/
主目錄的警告。可以這麼說,我只是不知道它應該「駐留在」哪個目錄。那我該把這傢伙放在哪裡呢?ncsd
現在我們就開始吧?
我想真正的問題是:是什麼nobody
和ncsd
目的?將根目錄設定為主目錄會為這些使用者帶來哪些安全風險?在最佳環境中,他們的主目錄在哪裡?
答案1
[編輯]:我誤解了這個問題。我會在這裡寫一個更合適的答案。
我不知道 Tiger Security,但我同意用戶 nobody 是不懷好意的不主目錄,不就在任何子目錄之上,並且意味著真正擁有不根本不使用 shell(並且永遠不要正確執行“登入”)。
但實際設定(在/etc/passwd
)對於不同的 Linux 發行版、BSD 和 *unix 是不同的。
我使用這個命令檢查:
$ grep nobody /etc/passwd
在 RedHat 5.2(與 Centos 相同)上,我發現:
nobody:x:99:99:Nobody:/:/sbin/nologin
所以可能 '/' 這是 RedHat/Centos 的標準。
我檢查了 Ubuntu 10.04:
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
(且「/不存在」不存在)
在 Mac OSX 10.4 Tiger(BSD 衍生版本)上:
nobody:*:-2:-2:Unprivileged User:/var/empty:/usr/bin/false
(且「/var/empty」存在且為空)
我的猜測是 Tiger Security 不喜歡 RedHat/CentOS 上的標準設定。您可以安全地忽略此警告,或者可以將/etc/passwd
設定nobody
的 home 編輯為空或不存在的目錄,以滿足 Tiger Security 測試。