为了安全起见,我在系统中创建了一个没有 shell 和主目录的 apache 用户。然后我在 中将 User 指令从 daemon 更改为 apache httpd.conf
。它在 apache 中创建子进程以 apache 用户身份运行。
为什么我的 apache 服务器仍然使用没有 shell 的 apache 用户执行我的 cgi shell 脚本?
答案1
您的 apache 用户没有登录 shell 或主目录。这很好。
但是,“没有 shel” 并不意味着用户不能运行 shell 脚本。那是完全不同的事情。
您已将 httpd 守护程序配置为以用户“apache”的身份运行,因此它启动的所有进程也将以用户“apache”的身份运行,包括 CGI 脚本。这是预期的结果。