部署用户是否应将其 shell 设置为 /bin/false?

部署用户是否应将其 shell 设置为 /bin/false?

我通过将每个应用程序“沙盒化”到其自己的 UNIX 用户帐户下来部署 Web 应用程序,这些应用程序位于一个通用的 nginx 反向代理后面,该代理还提供静态文件。每个帐户都运行应用程序服务器,nginx 将通过 fcgi 将请求转发到该服务器。每个用户的主文件夹都托管应用程序代码和静态文件,当然,这些文件需要 nginx 可读。

我正在尝试尽可能地保护这个设置,并且/bin/false在阅读该主题时想到了这一点。

如果我将应用程序用户的 shell 设置为/bin/false,从安全性方面来说,我会得到什么好处?

答案1

这个问题可能相关:https://unix.stackexchange.com/questions/28888/why-does-the-bin-user-need-a-login-shell

一般而言,使用 /bin/false(或者最好使用 /sbin/nologin)的好处是,即使在允许登录的情况下,登录尝试也会失败。例如,以下文章对此进行了更详细的介绍:https://www.digitalocean.com/community/tutorials/how-to-restrict-log-in-capabilities-of-users-on-ubuntu

因此,这是防止帐户滥用/暴力破解的一部分。

相关内容