Докер | Вопросы о тюрьме Chroot | Хостинг для Node.js

Да, это осуществимо.

Однако, вероятно, вам лучше использовать приложение типа checkinstall для создания обоих типов пакетов для ваших пользователей. Есть несколько руководств, вот это на lwn.net и вот это на linuxjournal.com.

0
18.04.2018, 19:18
1 ответ

Похоже, у вас есть некоторые неверные представления о входе пользователей в систему.

При /bin/bashили прямом доступе к Nodejs пользователь может изменять только те файлы, на изменение которых у него есть разрешение. Большая часть /etc, вероятно, недоступна для записи jimmy, поэтому они не должны rmиметь доступ ко всему каталогу.

Вы правы насчет /usr/sbin/nologin, пользователь не сможет войти в систему. Запустив веб-интерфейс для доступа к Nodejs в этом сценарии, вам все равно нужно убедиться, что веб-интерфейс не разрешает доступ к файлам, которые вам не нужны, или пользователям, имеющим доступ.

Независимо от того, какое решение вы выберете, вы не сможете запускать несколько служб на одном и том же IP-адресе и порте. Вы можете либо привязать службу к тому же порту на другом IP-адресе, либо использовать другой порт. Решение может заключаться в том, чтобы каждый пользователь работал на своем порту, а затем создавал веб-сервер, который служил бы прокси для каждой из этих служб.

Вы говорите об использовании Docker, поэтому я не уверен, почему вы не придерживаетесь этого, хотя я не знаю о возможных пользовательских ограничениях, с которыми вы работаете. Это больше похоже на chroot с дополнительной изоляцией и сетевым управлением. Docker в первую очередь предназначен для запуска одной службы, поэтому каждый пользователь, имеющий свой собственный контейнер, на котором запущен экземпляр Nodejs, звучит как раз такой вариант использования.

Если Docker не подходит, я бы рекомендовал использовать chroot, если вы уверены, что сможете сделать это правильно. В противном случае, похоже, что ваши требования могут быть удовлетворены с помощью единой системы, предлагающей вход в систему для нескольких пользователей -с соответствующими разрешениями везде.

0
28.01.2020, 04:25

Теги

Похожие вопросы