www-data 用户需要真正的 shell 吗?

www-data 用户需要真正的 shell 吗?

有趣的是,在我的安装了 nginx 的 Ubuntu 衍生版上aptwww-data用户有一个 shell:

$ cat /etc/passwd
www-data:x:33:33:www-data:/var/www:/bin/sh

难道不应该将其设置为类似这样的值吗/bin/false?即使用户无法登录,默认为系统用户提供这样的 shell 不是很危险吗?

答案1

/bin/false(或者/bin/true如果你是一个积极的人)是一个真正的壳 - 它只是一个交互的shell :-) 在某些系统上也有/sbin/nologin同样的用途。

至于您的 Apache 用户是否需要交互式 shell(类似于bash),答案正如其他人所说是“通常不需要”。
将 Apache 用户的 shell 设置为非交互式 shell 通常是一种良好的安全做法(实际上,所有不需要交互式登录的服务用户都应将其 shell 设置为非交互式 shell)。

浏览一个像您这样的现有环境,尝试一下,看看是否有任何问题。
如果没有问题,从现在开始使用非交互式 shell。
如果出现问题,请尝试修复它没有恢复交互式 shell :-)

相关内容