Я хочу разместить небольшую домашнюю страницу через node.js из капли DigitalOcean Debian. Я добавил SSH-ключи для своего персонального MacBook, и я могу подключиться через SSH (только мой MacBook зарегистрирован, иначе вас мгновенно выгнали и даже не спросили пароль SSH).

В настоящее время я подключаюсь через что-то вроде: ssh root@MY-IP-ADDRESS в новой установке Debian 8.6 x64 . Это первый раз, когда я настраиваю настоящий сервер node.js с целью фактического обслуживания чего-либо.

Много раз я читал, что вы определенно не должны запускать процесс сервера (в данном случае node) от имени пользователя root. Я думаю, что мне понадобится другой пользователь (другой от root), что-то вроде сервера с достаточным разрешением для управления сервером

В настоящее время я спрашиваю себя, нужно ли мне вообще работать через root - мне стоит добавить какой- нибудь модный .bashrc или .vimrc? Или предпочтительнее проводить как можно меньше времени root?

Какой рекомендуемый подход здесь?

1 ответ1

3

Да, вы должны. На самом деле во многих системах вы никогда не входите в систему как root. Корневые логины SSH должны быть отключены и настроена аутентификация на основе ключей.Есть много плохих актеров, которые пытаются грубо заставить root и другие распространенные имена пользователей получить доступ ко всему.

Насколько я помню, «обычный» способ сделать это - использовать «правильный» веб-сервер, выступающий в роли прокси-сервера - скажем, ngnix, передавая трафик на ваш сервер node.js, работающий на более высоком порту.

В качестве альтернативы вы можете настроить брандмауэр для переадресации портов.

Вам, безусловно, следует избегать как можно большего количества root-прав.

Обычно я делаю одну учетную запись с полномочиями sudo и настраиваю одну учетную запись для «автономного» приложения. Я храню все, что связано с приложением, в одном месте и использую crontab для этой учетной записи, чтобы запустить приложение при перезагрузке. YMMV

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .