我应该为我的Web服务器创建一个额外的用户(root除外)吗?[关闭]


0

我想通过举办小型的主页node.jsDigitalOcean Debian的液滴。我为我的个人MacBook添加了SSH密钥,我可以通过SSH连接(只有我的MacBook已经注册,否则你会被立即踢出去,甚至不会要求输入SSH密码)。

我目前通过以下方式连接:ssh root@MY-IP-ADDRESS在新的Debian 8.6 x64安装上。这是我第一次建立一个真正的 node.js服务器,目的是实际提供服务。

我多次读到你绝对应该node以root身份运行服务器进程(在本例中)。我想我需要另一个用户(其他来自root用户),比如服务器具有足够的权限来处理服务器。

我现在问自己,如果我甚至应该通过root工作- 我是否应该添加一个幻想.bashrc.vimrc?或者是它倾向于花费尽可能少的时间,根本的可能吗?

这里推荐的方法是什么?


您应该始终root在任何类似的服务器上禁用,并将“root”功能替换为被授予sudo权限的新用户。像创建服务器一样,以root身份登录,创建一个新用户,例如“coolguy”,然后授予sudo“coolguy”权限并锁定root用户的帐户和密码。没有关于如何做到这一点的深入教程。我刚才概述的只是你应该做的。
杰克古尔德2016年

Answers:


3

是的,你绝对应该。事实上,在许多系统中,您从未以root用户身份登录。应该禁用 SSH root登录并设置基于密钥的身份验证。有很多不好的参与者试图强制root和其他常用用户名以便访问任何东西。

我记得,通常的方法是让一个“适当的”Web服务器充当代理 - 例如ngnix,将流量传递给运行在更高端口上的node.js服务器。

或者,您可以将防火墙设置为转发端口。

你当然应该尽可能避免成为root用户。

我通常做的是拥有一个具有sudo权限的帐户,并为每个“独立”应用设置一个帐户。我在一个地方存储与应用程序有关的任何内容,并使用该帐户的crontab在重新启动时启动应用程序。因人而异


谢谢。您是否知道任何有关资源/主页的详细解释?正如我已经提到的:我已经在使用基于密钥的身份验证,但我不知道如何设置用户/等等。

资源是学习材料......
Ramhound 2016年

@Ramhound是的,这是一个问题吗?

@Herickson,请注意,有一个标准(即“系统”)Debaian用户名www-data,它专门用于运行Web服务器。我认为它可以在基本系统安装后立即使用。运行getent passwd www-data以验证您的系统中是否有此用户。
kostix 2016年

@Herickson - 的确如此。寻求学习材料的问题特别不是主题。
Ramhound 2016年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.