bot*_*les 2 linux permissions nginx command-line-interface apache-2.2
授予注定要运行 Apache/Nginx 的用户帐户的 shell 访问权限是一个坏主意吗?
我问是因为,Guvnr 在他的 VPS Bible 系列中,用 visudo'd 设置了一个新用户
guvnr ALL=(ALL) ALL
Run Code Online (Sandbox Code Playgroud)
权限,然后使用该用户设置 Nginx 服务器。
而 Nginx HTTP Server 的作者建议您不要向运行 Nginx 的用户授予 shell 访问权限。
您总是可以删除guvnr 的shell 访问权限,但是,您将如何管理您的网站?
编辑:@Bart Silverstrim - 以下是 guvnr 安装 Nginx 的方式:
那么也许 Nginx 是在这里安装到 root 的?
如果在 /etc/ssh/sshd_config 中禁用 root 登录,这是一个好的做法吗?
通常,将 shell 访问权限授予任何仅为守护程序/服务创建的帐户以访问不需要 shell 访问的特定系统功能,这是一个坏主意。这样就可以防止某人破坏(面向 Internet 的)服务并获得不必要的特权。
基本上,如果不需要,为什么要增加攻击面?
另一方面,在重新阅读问题时,不清楚 nginx 是否有一个 shell 帐户。nginx 是由guvnr 帐户设置的,还是授予了自己的实际帐户?每个应用程序都由用户设置,通常具有一些管理访问权限。这并不意味着它总是以该用户身份运行(即,仅仅因为 cat 是由 root 安装的并不意味着 jdoe running cat 正在以 root 身份运行 cat。)它可以访问外壳;它很可能在分叉后立即放弃特权,或者它可以拥有自己的 nginx 帐户或作为具有很少或没有特权的 Web 用户帐户运行。您可能想要在配置中进行更多挖掘,并查看服务器正在运行的内容。