HestiaCP - Shared Hosting (часть 2), настройка файлового менеджера filegator |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
| ! | В разделе запрещено создавать темы связанные с раскруткой игровых серверов |
|
|
HestiaCP - Shared Hosting (часть 2), настройка файлового менеджера filegator |
Gecko
|
20.8.2025, 23:13
Сообщение
|
|
|
HestiaCP - Shared Hosting (часть 2) - настройка файлового менеджера filegator
Данный патч исправит работу файлового менеджера который по умолчанию предоставляет доступ пользователям к их домашнему каталогу, патч изменит домашний каталог, на каталог сайтов пользовтеля, пользователю больше не нужно искать каталог с сайтами. Также данный патч добавляет права доступа на все файлы в каталоге пользователя на чтение и скачивание для определённых пакетов, которые пользователь может указать в конфигурационном файле. Автор патча: Gecko Совместимость: v1.9.4 (должно работать на более старых/новых версиях панели) HestiaCP - Shared Hosting (все статьи) Далее все действия в терминале выполняем с правами суперпользователя (root) Создаём конфигурационный файл: Код cat > /usr/local/hestia/web/fm/permissions_packages.php <<'EOF' <?php /** * List of Hestia packages with restricted permissions (read + download only). * If the array is empty or the file is missing, no filter will be applied. * * Examples: * return ['default']; // only "default" package has limited rights * return ['default','start']; // "default" and "start" packages have limited rights * return []; // no restrictions, all users have full permissions */ return []; EOF Создаём симлинк на этот файл, а также создаём нужный каталог если его ещё нет: Код mkdir -p /etc/hst_conf && ln -sf /usr/local/hestia/web/fm/permissions_packages.php /etc/hst_conf/filegator-permissions-packages.conf В этом конфигурационном файле можно прописать нужные названия пакетов (тарифных планов) к которым будут применены права доступа на чтение и запись Код micro /etc/hst_conf/filegator-permissions-packages.conf Вот пример настройки: Код return ['default']; // только пакет "default" имеет ограниченные права return ['default','start']; // пакеты "default" и "start" имеют ограниченные права return []; // никаких ограничений, все пользователи получают полный доступ Ручная установка патча Сделайте резервную копию файлов которые будут пропатчены: Код cp /usr/local/hestia/web/fm/configuration.php /usr/local/hestia/web/fm/configuration.php.bak cp /usr/local/hestia/web/fm/backend/Services/Auth/Adapters/HestiaAuth.php /usr/local/hestia/web/fm/backend/Services/Auth/Adapters/HestiaAuth.php.bak Заменить в файле: Код micro /usr/local/hestia/web/fm/backend/Services/Auth/Adapters/HestiaAuth.php Этот блок кода: Код public function transformUser($hstuser): User { $user = new User(); $user->setUsername($this->hestia_user); $user->setName($this->hestia_user . " (" . $hstuser["NAME"] . ")"); $user->setRole("user"); $user->setPermissions($this->permissions); $user->setHomedir("/"); return $user; } Замените на этот: Код #------------------------------------------------------------------------------ # Transforms a Hestia user into a FileGator User object #------------------------------------------------------------------------------ public function transformUser($hstuser): User { $user = new User(); $user->setUsername($this->hestia_user); $user->setName($this->hestia_user . " (" . $hstuser["NAME"] . ")"); $user->setRole("user"); $configFile = '/usr/local/hestia/web/fm/permissions_packages.php'; $permissions_packages = []; if (file_exists($configFile) && is_readable($configFile)) { $loaded = include $configFile; if (is_array($loaded)) { $permissions_packages = array_map( fn($v) => strtolower(trim((string)$v)), $loaded ); } } $userPackage = strtolower(trim((string)($hstuser['PACKAGE'] ?? ''))); if (!empty($permissions_packages) && in_array($userPackage, $permissions_packages, true)) { $user->setPermissions(["read", "download"]); } else { $user->setPermissions($this->permissions); } $user->setHomedir("/"); return $user; } Если нужно чтобы при открытии файлового менеджера не отображались никакие файлы, то нужно эту строку: Код $user->setPermissions(["read", "download"]); Заменить на эту: Код $user->setPermissions([]); Найти в файле: Код micro /usr/local/hestia/web/fm/configuration.php Для старой версии панели инструкция немного другая Найти следующий блок кода: Код if (in_array($v_user, $user_list)) { $root = "/"; } else { $root = "/home/" . $v_user; } и заменить на этот: Код if (in_array($v_user, $user_list)) { $root = "/web"; } else { $root = "/home/" . $v_user; } эту строку: Код $root = "/home/" . $v_user; и заменить на эту: Код $root = "/home/" . $v_user . "/web" Автоматическая установка патча Скачайте скрипт на сервер и распакуйте:
hst_filegator.sh.zip ( 1,2 килобайт )
Кол-во скачиваний: 1Код unzip hst_filegator.sh.zip && chmod +x hst_filegator.sh Запустите установку патча: Код ./hst_filegator.sh Цитата The patch was installed successfully. - Backup copies of the files were created: /usr/local/hestia/web/fm/configuration.php.bak and /usr/local/hestia/web/fm/backend/Services/Auth/Adapters/HestiaAuth.php.bak. The configuration file permissions_packages.php was created. A symbolic link to the configuration file was created at /etc/hst_conf/filegator-permissions-packages.conf. Скриншоты: Права на чтение и скачивание файлов ![]() Все права ![]() Опционально делаем симлинки для основных конфигурационных файлов ПУ: Код ln -sfn /usr/local/hestia/conf /etc/hst_conf/conf && \ ln -sfn /usr/local/hestia/data/packages /etc/hst_conf/packages && \ ln -sfn /etc/nginx/conf.d/domains /etc/hst_conf/domains && \ ln -sfn /usr/local/hestia/data /etc/hst_conf/data Теперь все пакеты доступны по адресу: /etc/hst_conf/packages Все настройки панели доступны по адресу: /etc/hst_conf/conf Конфиги сайтов тут: /etc/hst_conf/domains Тут все основные данные ПУ: /etc/hst_conf/data Конфигурационный файл лимита фтп-пользователей: /etc/hst_conf/pkg-ftp-limits.conf Конфигурация файлового менеджера: /etc/hst_conf/filegator-permissions-packages.conf
Отредактировал: Gecko, - 7.9.2025, 7:26
![]() Не отвечаю на ЛС.
|
|
|
|
Vladorld
|
3.9.2025, 21:38
Сообщение
|
|
|
Никто сейчас на php в здравом уме не делает новые проекты
![]() Скачать КС 1.6
|
|
|
|
Gecko
|
5.9.2025, 13:33
Сообщение
|
|
|
![]() Не отвечаю на ЛС.
|
Поблагодарили 1 раз
|
|
![]() ![]() |