Создание учетной записи пользователя для друга на сервере Ubuntu, чтобы он мог запускать php/apache вместе с моей установкой nginx

Это невозможно сделать из клиента. Это функция безопасности, :файл ~/.ssh/rcможет делать вещи, которые клиент не должен иметь возможности обойти (, хотя это не является обычным использованием ).

Самый очевидный способ обойти то, что делает ~/.ssh/rc, состоит в том, чтобы обернуть это в код, который зависит от переменной среды, и позволить клиенту передать эту переменную среды серверу(AcceptEnvв директиве /etc/sshd_config).

Другой способ сделать это со стороны сервера — использовать ключ с параметром no-user-rc.

0
20.08.2020, 03:30
3 ответа

Первый очевидный шаг :проверка того, что доступно для записи всем, а что является конфиденциальным и доступным для чтения всем.

Во-вторых, я полагаю, что вы создаете пользователей с помощью команды adduser. (Это относится только к вариантам 1 и 2 ниже.)

В-третьих, есть несколько вариантов установки apache и т.п.

  1. Вы можете установить его для всей системы и настроить на нестандартный порт -. Вам также может потребоваться настроить его на другой идентификатор пользователя, поскольку стандартные установки обоих веб-серверов могут использовать одного и того же пользователя.
  2. Вы можете позволить ему установить исходные коды Apache и всего, что ему нужно. Это значительно болезненнее для него, но легче для вас.
  3. Вместо того, чтобы создавать для него обычного пользователя, вы можете установить xen (или что-то подобное )и запустить виртуальную машину только для него. На этой виртуальной машине вы можете дать ему root-доступ. Он будет ограничен виртуальной машиной. При управлении виртуальной машиной вы можете ограничить использование памяти и процессора.
  4. С пространствами имен Linux можно создать что-то похожее на виртуальную машину,но работает в том же ядре. Я не видел хорошего пакета для этого, но они могут существовать. Это также может позволить вам предоставить ему root-доступ.

Что вы выберете, вероятно, зависит от того, сколько администрирования он хочет сделать, и сколько вы хотите сделать.

Другой доступный вариант :позволяет ему получить виртуальную машину на хостинге. Например, Amazon бесплатно предоставит ему небольшую виртуальную машину на год.

0
18.03.2021, 23:11

Если вы хотите, чтобы он выполнял установку программного обеспечения и администрирование, вам нужно предоставить ему root-доступ и доверить ему все.

Если вы хотите справиться со сложностями администрирования, необходимыми для запуска многопользовательского сервера, вы можете это сделать. Хотя он всегда будет просить вас изменить различные вещи. Это очень быстро утомит, даже если вы преодолеете сложности правильной настройки многопользовательского сервера.

Цель, которую вы пытаетесь достичь, та же, что и вдохновила cPanel.

Вместо того, чтобы делать все это с нуля, вам следует рассмотреть возможность изучения таких панелей управления, как Webmin, cPanel, Plesk, Ensim, DirectAdmin и т. д.

1
18.03.2021, 23:11

Это похоже на то, что может подойти для Docker.

  • Вариант 1:Создайте для него образ, который он сможет использовать в качестве песочницы.
  • Вариант 2.:Дайте ему стандартную учетную запись пользователя в вашей операционной системе и добавьте его в группу докеров.

Если вы действительно заботитесь о безопасности, третьим вариантом может быть предоставление ему полного контроля (корневого доступа )к чему-то вроде Raspberry Pi. Pi можно использовать в автономном режиме с доступом по ssh, чего должно быть достаточно для веб-разработки. Сделайте резервную копию SD-карты с помощью ddи gzip/7zip, и если что-то пойдет не так, у вас есть способ восстановить ее до хорошего состояния.

1
18.03.2021, 23:11

Теги

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