Включить cagefs для пользователей CPanel

Включить cagefs для пользователей CPanel

Инструмент CageFS (слово cage значит «клетка») создает для каждого пользователя свою собственную, изолированную от других пользователей и корневой ФС, виртуальную файловую систему. Это позволяет ограничить доступ процессов одного пользователя к данным других пользователей и самого сервера. Хочу рассказать в своей теме «Включить cagefs для пользователей CPanel» как можно установить cagefs и использовать его.

Установка  CageFS:

# yum install cagefs
# /usr/sbin/cagefsctl --init

Если у вас нет достаточно места на диске в /usr/share, используйте следующую команду, чтобы иметь cagefs-skeleton в другое место:

$ mkdir /home/cagefs-skeleton
$ ln -s /home/cagefs-skeleton /usr/share/cagefs-skeleton

На серверах с CPanel, если вы будете размещать скелет в /home каталоге, вы должны настроить следующий параметр:
cPanel WHM WHM -> Server Configuration -> Basic cPanel/WHM Setup -> Basic Config -> Additional home directories.

CageFS будет автоматически обнаруживать и настраивать все необходимые файлы для:
• cPanel
• Plesk
• DirectAdmin
• ISPmanager
• Interworx
• MySQL
• PostgreSQL
• LiteSpeed

Веб-интерфейс для управления CageFS доступен для Cpanel, Plesk 10+, DirectAdmin, ISPmanager и InterWorx. Инструмент командной строки необходимо будет использовать для других панелей управления.

После того как вы инициализации шаблон, вы можете начать назначать пользователей. Но CageFS по умолчанию отключена для всех пользователей.

Вы можете включить CageFS, выполнив команды которые я приведу в своей статье «Включить cagefs для пользователей CPanel «.

Чтобы включить CageFS для одного пользователя:

$ /usr/sbin/cagefsctl --enable <username>

Чтобы включить CageFS для всех пользователей:

$ /usr/sbin/cagefsctl --enable-all

Чтобы отключить CageFS для пользователя:

$ /usr/sbin/cagefs --disable <username>

Иногда из-за этого модуля, не работает почта, по этому, решением данной проблемы может стать следующее решение.

Переустановим  cagefs

# yum reinstall cagefs
# cagefsctl --force-update;cagefsctl --remount-all

Если не помогло, то можно проверить что покажет следующие

# cat /etc/cagefs/proxy.commands
# service proxyexecd status
# su -s /bin/bash username

Тогда:

# which sendmail
# php scriptname.php (where "scriptname" your script to test sending email)

Опции.

-i | —init
инициализировать CageFS (создать CageFS, если он не существует).

-r | —reinit
ре-инициализировать CageFS (сделать резервную копию и восстановить CageFS).

-u | —update
обновить файлы в CageFS (добавлять новые и измененные файлы, чтобы в CageFS удалились ненужные файлы)

—update-etc
обновить /etc шаблон только

-f | —force
воссоздать CageFS (не сделать резервную копию, перезаписать существующие файлы)

-d | —dont-clean
Не удаляйте файлы из скелета (для использования с вариантом «—update» )

-k | —hardlink
использовать жесткие ссылки, если это возможно

—create-mp
Создать /etc/cagefs/cagefs.mp файл

—mount-skel
Смонтировать CageFS skeleton и запустить службу cagefs-fuse (если не запущена)

—unmount-skel
отключить (отмонтировать) CageFS каталог skeleton и остановить службу cagefs-fuse (если запущен)

—remove-all
отключить CageFS, удаление шаблонов и /var/cagefs директории

—addrpm
добавить RPM-пакеты в CageFS (Запустить «cagefsctl —update» для того, чтобы применить изменения)

—delrpm
удалить RPM-пакеты из CageFS (Запустить «cagefsctl —update» для того, чтобы применить изменения)

—list-rpm
Список RPM-пакетов, которые установлены в CageFS

-e | —enter
войти в CageFS пользователя, как root

—enable-cagefs
включить CageFS

—disable-cagefs
отключить CageFS

—set-min-uid
устанавить  min UID

—get-min-uid
Отображение текущего параметра MIN_UID

—do-not-ask
Отключить подтверждение,  предположим «yes» во всех запросах (должно быть первый вариант в команде)

—set-update-period
установить минимальный срок для выполнения обновления skeleton (по умолчанию 1 день)

—force-update
принудительное обновление, даже если минутный период еще не достиг

—tmpwatch
принудительное очистка временных файлов в tmp директориях

—set-tmpwatch
выполнить команду для запуска команды запуска чтобы очистить конечного пользователя и его tmp папки, как: —set-tmpwatch=’/usr/sbin/tmpwatch -umclq 720′

-m | —remount
перемонтировать указанного пользователя (ей)

-M | —remount-all
перезапуск cagefs-fuse сервиса, перемонторование CageFS и его папки skeleton и всех пользователей, (этот каждый раз, когда вы изменили cagefs.mp файл)

-w | —unmount
отключить указанного пользователя (ей)

-W | —unmount-all
остановить cagefs-fuse сервис, отключить CageFS skeleton папки и всех пользователей

—create-virt-mp USERNAME
создает virt.mp файл для пользователя в Plesk

—create-virt-mp-all
создает virt.mp файл для всех пользователей Plesk

-l | —list
Список пользователей, которые вошли в CageFS

—enable
включить CageFS для пользователя

—disable
отключить CageFS для пользователя

—enable-all
включить всех пользователей, кроме указанных в /etc/cagefs/users.disabled

—disable-all
отключить всех пользователей, кроме указанных в /etc/cagefs/users.enabled

—display-user-mode
отображения текущего режима («Включить все» или «Отключить все»)

—toggle-mode
Переключение режима экономии текущих списков пользователей (списки разрешенных и запрещенных пользователей остаются неизменными)

—list-enabled
список разрешенных пользователей

—list-disabled
список запрещенных пользователей

—getprefix
показать префикс для пользователя

Если на cloudlinux какие-то проблемы с LVE прежде всего попробуйте обновить лицензию на CL:

# /usr/sbin/clnreg_ks --force

Установка  PHP SELECTOR

PHP Selector — компонент CloudLinux и но позволяет каждому пользователю выбрать версии PHP и модуль исходя из своих потребностей. PHP Selector требуется аккаунт для CageFS чтобы иметь возможность работать.

Установка PHP Selector предполагает, что у вас уже есть CageFS & LVE

Установка различных версий PHP и модулей:

$ yum groupinstall alt-php

Обновление CageFS и LVE менеджер с поддержкой PHP Альтернатив (Alternatives):

$ yum update cagefs lvemanager

И запускаем для всех ребилд php-ini:

$ cagefsctl –rebuild-all-php-ini

Тема «Включить cagefs для пользователей CPanel» подошла к завершению.

3 thoughts on “Включить cagefs для пользователей CPanel

  1. Подскажите у меня в папке .cagefs/tmp создается архив .sql.gz, что мне сделать что бы данный архив не создавался? Мне его приходится каждый день удалять так как он переполняет дисковое пространство на холстинге.

      • я не знаю что писать, мне посоветовали аналогичный вариант и пример дали, я прописал rm -f ./.cagefs/tmp plyk_ucoz_wp_*, что бы он удалялся, но наверно код неверный, файл все равно создается и висит там. Может надо его несколько раз удалять в сутки, не знаю…. Раньше он не создавался, а теперь я с ним замучался, он 100 с лишним мегабайт весит. У меня у холстера панель cPanel, от куда он стал появляться ума не приложу….

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.