Если вы имеете ввиду обычный шаред хосинг на линуксе то там один аккаут = один системный пользователь, поэтому ответ - никак. Самое простое решение - сделать на каждый сайт по аккаунту(системному пользователю).
Иван Петров, первая строка System - обычно там будет чтото типа
Linux serverhostname 3.10.0-1160.21.1.el7.x86_64 #1 SMP Tue Mar 16 18:28:22 UTC 2021 x86_64
да, так как сейчас файлы ваших сайтов принадлежат одному и томуже системному пользователю, и взломав один сайт взломщик получает доступ ко всем вашим сайтам в этом аккаунте.
Подробнее отвечал вот здесь: создаю отдельного пользователя ... Для apache устанавливаю модуль ModSecurity
На сколько понял, 3 и 4 пункты из вашего руководства не для моего случая, т.к. там не про обычный шаред хостинг.
На счет настроек php.ini, на моем хостинге:
Можно ли устанавливать собственные настройки php.ini?
У нас PHP работает как модуль Apache, и поэтому невозможно использовать свой php.ini. Для использования собственного php.ini вы можете запустить PHP в режиме CGI.
И далее инструкция, как запустить PHP в режиме CGI:
Запуск PHP в режиме CGI позволяет указывать свой php.ini, работать из PHP с любыми файлами на аккаунте и иметь полный доступ к файлам, созданным из PHP.
Порядок действий:
Подключить услугу «Поддержка CGI» (услугу «Поддержка PHP» можно отключить).
Создать файл php.cgi:
#!/bin/bash
/usr/local/bin/php-cgi -n
или
#!/bin/bash
/usr/local/bin/php-cgi -c /путь/к/файлу/php.ini
Закачать файл на сервер в ASCII-режиме в папку домена, на котором предполагается запускать PHP в режиме CGI. Например, для домена test.ru это будет папка /domains/test.ru. Если домен размещен в папке /docs, файл нужно закачивать в папку /docs. Если закачать файл не в ASCII-режиме, скрипт работать не будет, будет выдаваться ошибка 500 (Internal Server Error).
Установить на файл php.cgi права 0755 (rwxr-xr-x).
Проверить права на папку домена. Должны быть установлены права 0755 (drwxr-xr-x). Внутри папки с правами 0777 (drwxrwxrwx) скрипт работать не будет, будет выдаваться ошибка 500 (Internal Server Error).
Создать файл .htaccess в директории домена, на котором PHP будет работать в режиме CGI, и поместить в него следующие директивы:
Action php-cgi /php.cgi
AddHandler php-cgi .php
Теперь файлы с расширением .php будут обрабатываться PHP интерпретатором в CGI-режиме.
Недостатки такого способа: низкая скорость работы, недоступность некоторых функций модуля и потенциальная небезопасность: если ваш скрипт взломают, это может иметь более серьезные последствия, чем если бы PHP работал как модуль Apache. Поэтому мы не рекомендуем запускать PHP через CGI без особой на то необходимости.
Это то что мне нужно, или такое не подходит? В 6 пункте смущает зависимость от .htaccess - т.е. если сайт взломают и изменят .htaccess, то настройки в php.ini потеряют смысл?
Иван Петров, надо пробовать смотреть, тестировать.
Да, мне тоже не нравится содержимое .htaccess. Предполагаю, что если уберут эти две строки, то .php файлы будут отдаваться как текст, что не очень хорошо.
Как вариант ищите другой хостинг, где можно изменять в админ панеле php переменные. Как минимум open_basedir и disable_functions.
Спросите на ihor.ru, ihc.ru, возможно там такое есть. Задавайте вопрос прям техподдержке перед покупкой, можно ли менять данные переменные для отдельного сайта.
Как минимум чтоб для каждого сайта веб сервер работал от отдельного пользователя. Ну и чтоб пользователь, из под которого запущен веб сервер, имел права только на свою папку, где расположены файлы сайта.
Вы спрашиваете, потому что вы пользуетесь хостингом и боитесь, что вас взломают? Ничего вы в такой ситуации не сделаете. Вы сами владелец хостинга и пытаетесь его настроить? Разбирайтесь в линуксе, виртуализации, контейнерах, selinux ;)