Operating principle and features
The ispmanager limiting module isolates files and processes and limits the resources of virtual hosting users. The module is an alternative to CloudLinux.
Limiting and isolation can be used together or separately.
Limiting
The module monitors PHP handler processes:
- Apache
mod_php,mod_cgid,mod_fcgidmodules mod_lsphp— an ispmanager Apache module that allows PHP to run in LSAPI modephp-fpm
When a process is launched under a user, the module intercepts it and places it in a limited environment (Limited surrounding or LS container).
For su, sudo, SSH, Cron processes, the module is built into the Pluggable authentication module (PAM). When a user authenticates to these services, the module also intercepts their process and places it in an LS container.
The cgroups v2 mechanism is used to limit resources.
Features:
- Resource usage control: limit the usage of CPU, physical memory, SWAP file, and the total number of processes
- Out-of-the-box limiting: basic support for
su,sudo,SSH,Cron,ApacheandPHP-FPMservices - Monitoring: real-time consumption tracking via active LS containers
- Analytics: view statistics in the dashboard's web interface, via the CLI, or in Prometheus format connector
- Extensibility: support for isolation for other services with PAM
Isolation
When LimitedFS is initially activated, a skeleton file system structure is created that is shared by all users. A portion of the shared file system required for the correct operation of programs in the user's environment is copied to it in read-only mode. When LimitedFS is enabled, personal data is created for the user.
The module monitors PHP handler processes:
- Apache
mod_php,mod_cgid,mod_fcgidmodules mod_lsphp— an ispmanager Apache module that allows PHP to run in LSAPI modephp-fpm
When a process is launched under a user, the module intercepts it and places it in an isolated environment (Limited File System , LimitedFS , LFS).
For su, sudo, SSH, Cron processes, the module is integrated into the Pluggable Authentication Module (PAM). When a user authenticates to these services, the module also intercepts their process and places it in the isolated LimitedFS environment.
After this, pivot_root/chroot replaces the root directory for the process with a previously created one.
Features:
- Environment separation: individual
/etcand/tmpdirectories for each user - Out-of-the-box isolation: basic support for
su,sudo,SSH,Cron,Apache, andPHP-FPMservices - Individual namespaces (PIDs): users only see their own
su,sudo,SSH,Cron,Apacheprocesses (with themod_fcgid,mod_lsphpmodules) andPHP-FPM - Flexible configuration: the ability to add third-party software to LFS, as well as manage black- and whitelists for files and directories
- Extensibility: support for isolation for other services with PAM
Web server configuration
Isolation and limiting are available for the following web server configurations:
- Apache MPM-ITK + PHP as an Apache module
- Apache MPM-ITK / Apache MPM-Prefork + PHP in CGI mode with suEXEC mechanism
- Apache MPM-Prefork + PHP in FastCGI mode (Apache)
- Apache MPM-ITK / Apache MPM-Prefork + PHP in LSAPI mode (lsphp module)
- Nginx + PHP-FPM (native PHP version and alternative versions 5.3–8.5)
Comparison with CloudLinux
| CloudLinux OS Shared | ispmanager Limiting module | |
| Solution type | AlmaLinux-based operating system | A software package that runs on AlmaLinux |
Resource limitation | ||
| Technology | LVE (LightWeight Virtual Environment) — proprietary development solution | cgroups v2-based LS (Limited Surrounding) |
| CPU limit | ✅ | ✅ |
| RAM limit | ✅ | ✅ |
| SWAP limit | ✅ | ✅ |
| Process ID limit | ✅ | ✅ |
| I/O limit (disk activity) | ✅ | Scheduled |
| Protection against fork bombs | ✅ | ✅ |
File system and process isolation | ||
| FS Isolation technology | CageFS — a virtualized file system for each user | LimitedFS — mount namespaces + PivotRoot |
| Users only see their own files | ✅ CageFS | ✅ LimitedFS |
| Hiding system information | ✅ | ✅ |
| Protection against compromise of neighboring accounts | ✅ | ✅ |
Programming languages and web server | ||
| PHP Selector (multiple PHP versions per user) | ✅ | Partially Details A number of PHP versions for your website to choose from. Unavailable:
|
| Python Selector | ✅ | Partially Details A number of Python versions for your website to choose from. Unavailable:
|
| Ruby Selector | ✅ | ❌ |
| Node.js Selector | ✅ | Partially Details A number of Node.js versions for your website to choose from. Unavailable:
|
| Integration with a web server | Via mod_lsapi (native) | Via mod_cgid / mod_fcgid / mod_lsphp / PHP-FPM |
WordPress Optimization | ||
| AccelerateWP (caching, optimization) | ✅ Included free of charge in all tariffs | ❌ |
| MAx Cache (Apache/Nginx level cache ) | ✅ | ❌ |
Integration and Deployment | ||
| OS reinstallation required | ✅ Yes, installation of CloudLinux OS is required instead of CentOS/AlmaLinux | ❌ No need to reinstall the OS, just install the module |
| Free trial | ✅ 30 days | ✅ 14 days |
Support | ||
| 24/7 technical support | ✅ in English | ✅ in English |
| Knowledge Base and FAQ | ✅ Extensive, in English | ✅ in English |
Technical details
Isolation
- Isolation is managed by the lfsctl service
- lfsctl configuration files:
/etc/limitedfs/ - lfsctl log:
/var/log/limitedfs-service.log - File systems and mount points for users:
/srv/limitedfs/uids/
Limiting
- The following are responsible for limiting resources:
- klsd — a service that places new processes into LS containers.
- lsctl — utility that manages limits for containers.
- ls_admin — utility for additional limiting settings
- klsd service configuration file:
/etc/klsd/config - klsd service log:
/var/log/klsd.log
Statistics
- The lsstats.service data collection daemon and data output utilities are responsible for collecting statistics.
- lsstats configuration files:
/etc/ls-stats/conf.d/ - lsstats log:
/var/log/lsstats-service.log
Active containers
Monitoring of active containers and processes is performed by the lsps utility.