The best way to restrict them is give them limits when you create their account. For example, so much bandwidth and so much diskspace. Give them a strict ToS to agree to before giving them the hosting account. In your ToS highlight key things you dont want them to do. For example, They may not set any email address to catch all.
Ways to monitor the above is by using WHM. WHM has lots of built in munctions such as Mail Watch. Etc. There's also other tools that lets you see what clients are using what out of their limit. I.e. 50% of there bandwidth quota.
- Do not sell unlimited traffic/bandwidth/space;
- Create a AUP ( http://en.wikipedia.org/wiki/Acceptable_use_policy ) and a ToS with the correct policies;
- Optimize MySql, Apache, etc...
- Define the limits of Memory, CPU, Processes and I/O usage.
- Use CloudLinux;
Thank you everyone for your resourceful advice. I have found out that CloudLinux is not supported / managed by most service providers. Hence my hesitation to go for it.
Linux has an in built utility called ulimit. To what extent can it help me ensure a per user resource restricted environment on my dedicated server.
Also, please suggest some Linux:CentOS compatible tool/utility that can address my issue.
To add to this discusstion, I am looking for the follwing:
A vnstat like utility that pipoints Mbps transfer to the user or domain; that can be used during a period of unusually high data transfer.
A backup script that auto skips backing up account based on predetermined ionode and quota limits.
Linux has an in built utility called ulimit. To what extent can it help me ensure a per user resource restricted environment on my dedicated server
Well, I need to be able to limit the following for EACH user INDEPENDENTLY
i) Max CPU usage
ii) Max Concurrent processes
iii) Max time to run a specific process
iv) Max RAM usage per account
v) Max inodes allowed
Please guide me in the right direction on how to impose the above limits (hard and soft).
You would need to write a lot of kernel code & then apache module, cPanel plugin, etc...
Which provider do you use? We can help you with installation, we also provide 24/7 support.
Also, have you tried asking your managed provider for CloudLinux -- we are really easy to partner with.