有趣的是,在我的安装了 nginx 的 Ubuntu 衍生版上apt
,www-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 :-)