один пользователь на веб-сервер (и удалить пользователя веб-сервера по умолчанию) - возможно и последствия? - PullRequest
0 голосов
/ 26 августа 2018

Я собираюсь прекратить экспериментировать с моим NAS ( Synology DS211 + ) и перейти к полному сбросу системы. После этого веб-сервер выполняет чистую установку нескольких веб-серверов, по крайней мере nextcloud (может быть второй для NC 14 beta), firfly III , сервер фотографий ( piwigo *) 1008 * или PicApport ) и замена для Synology's NoteStation ( NextNote , Делопроизводство и т. Д.) И, возможно, wallabag .
Некоторые из них будут иметь доступ к папкам вне / web (корневая папка веб-станции) для доступа к данным и фотографиям. Я не хочу, чтобы безопасность всех файлов была под угрозой, если веб-сервер скомпрометирован, поскольку все они работают под httt: http (выделенный пользователь для Web Station ).

Поэтому я хочу создать учетную запись пользователя для каждого веб-сервера (конфигурация). Это также позволило бы мне запускать веб-серверы с различными областями действия расширений, в частности, сценариями php и Java-приложениями. Мой основной веб-сервер будет NginX . Имеет ли это смысл или я что-то не так понял? Это легко выполнимо?

Получение размещенного корневого / главного сервера или использование докеров в настоящее время не вариант. На среднесрочном плане запланировано обновление оборудования, но в настоящее время я хочу жить с моим DS211 +.

Я нашел некоторые записи в сети, но у меня все еще есть трудности с общим пониманием этого вопроса.

  1. мои конкретные источники Linux:

    1. Лучшая практика для запуска службы Linux от имени другого пользователя Снова разные решения, такие как su и runuser, start-stop-daemon, /etc/init.d или setuid
    2. Запуск процесса от имени определенного пользователя sudo такие команды, как sudo -u rails ls $someDir
    3. Запуск двух экземпляров Apache в качестве отдельных пользователей - отказано в разрешении речь идет о настройке права доступа, но это не лучший источник
    4. Есть ли способ для некорневых процессов связываться с «привилегированными» портами в Linux?
  2. Мои конкретные источники Apache:

    1. Как запустить два экземпляра apache в одной и той же системе (Ubuntu) , но использовать разные варианты, что лучше?
    2. Как мне настроить мой веб-сервер для работы под определенным пользователем, отличным от 'nobody'? снова suExec и говорит, что изменение envvars быстрое и грязное
    3. Как заставить Apache работать как текущий пользователь , ссылаясь на /etc/apache2/envvars
    4. Запуск Apache от имени другого пользователя /etc/apache2/apache2.conf и Apache-ITK
    5. Запуск apache от имени другого пользователя для разных доменов относится к Apache-ITK
    6. Запуск apache + mod_wsgi от имени другого пользователя дает информацию из mod_wsgi docs , если кому-то нужно подключить Python.

    7. Запуск Apache от имени другого пользователя хорошее объяснение, почему я хочу это сделать

    8. Запуск нескольких экземпляров Apache очень хороший учебник и еще одно хорошее объяснение того, зачем это делать, что я хочу делать
  3. Мои источники nginex:

    1. Php-cgi и suexec-подобная конфигурация с использованием NginX и php-fpm (настройка LEMP) , достигает suExec для NginX
    2. Пользователь на виртуальный хост в Nginx делает это даже на базе виртуального хоста
    3. Как запустить несколько экземпляров Nginx на другом порту , но в конце настройки виртуального хоста
    4. Как мне изменить пользователя NGINX? говорит, что просто измените строку user в nginx.conf и отредактируйте PHP-FPM через php-fpm.conf .
    5. Как запустить несколько веб-сайтов с помощью Nginx Webserver в Ubuntu 15.04 , насколько я понимаю, концепция другого виртуального хоста
    6. Использование Nginx с Nextcloud / Веб-сайт / Делопроизводство параллельно
  4. Мои источники, относящиеся к Synology:

    1. Пользователь http был удален
    2. Разрешения Synology NAS для веб-сервера и FTP
    3. Путаница разрешений веб-станции
    4. Как получить доступ к веб-серверу Apache?
    5. Изменить корневую веб-папку на пользовательский каталог
  5. Источники сценариев оболочки:

    1. Bash-it: Bash Framework, чтобы сделать ваш терминал крутым Bash Framework для поддержки различных сценариев оболочки, пользовательских команд, стилей ...
    2. Bashinator: Bash Shell Script Framework фокус на ведении журнала / отладке
    3. Bash Infinity - это стандартная библиотека и стандартная среда для написания инструментов, использующих bash
    4. Утилиты сценариев Bash Shell Набор удобных утилит и функций, которые делают сценарии Bash проще и веселее.
    5. Шаблон лучших сценариев Bash с несколькими полезными функциями
    6. Генератор скриптов Bash Создает шаблон скриптов Bash, который корректно обрабатывает аргументы и флаги.
    7. Шаблоны сценариев оболочки с рекомендациями по написанию собственных шаблонов

    8. или просто объединение файлов Bash, как объяснено здесь , здесь , здесь и здесь .

...