Duda de administración de usuarios en linux: cuotas

Bueno, ya que terminé los examenes ando trasteando e investigando sobre la administración más o menos avanzada de Linux, y me ha surgido la duda: como se hace para asignar 'cuotas' a los usuarios. Con cuotas me refiero a límites en el uso de disco, procesador, memoria, número de procesos, etc. Es algo, que me parece básico a la hora de administrar un sistema con varios usuarios, y, sin embargo, es algo de lo que no he leido nada en los tutoriales a los que he tenido acceso.

Buscando por google he econtrado que para la asignación de cuotas de disco existe el paquete 'quota', pero para el resto de cosas no he encontrado nada, no se si es que no se por donde buscar o si es que no es posible (que lo dudo mucho) :/ . Bueno, miento, he encontrado para FreeBSD, pero claro, no parece que sea igual en Linux.

Si alguien sabe como hacerlo o donde puedo conseguir información sobre ello... pues muy agradecido ;).

[EDITO]

Tras más busqueda intensiva parece que la solución está en el archivo /etc/security/limits.conf .Seguiré investigando a partir de ahí. ;)

[/EDITO]
La adminitración de "quotas" en Linux se hace mediante un modulo del kernel que se encarga de ello.

Te recomiendo que leas la documentación que hay respecto a ese modulo en los sources de Linux. (existe desde la 2.4 en adelante si mal no recuerdo)
Seguí investigando acerca del tema, ya que me resulta algo muy interesante, y bueno por si le resulta útil a alguien aquí pongo las conclusiones:

En archivo /etc/security/limits.conf se puede configurar los limites 'duros' y 'blandos' de varios recursos del sistema (numero de procesos, tiempo de CPU, máximo número de ficheros abiertos, etc), aplicandolos a usuarios individuales, a grupos o a todos (menos root).
Esto es válido si el programa que hace la autenticación usa el módulo PAM (Pluggable Authentication Modules) pam_limits.so. Para la asignación de límites en el uso del disco por usuarios se recomienda mejor el uso del paquete quota.

También estuve buscando cómo se podía hacer con llamadas al sistema, y me encontré con las llamadas al sistema setrlimit() y getrlimit(), que seleccionan y devuelven respectivamente los límites de recursos que el proceso que las llama y sus hijos pueden consumir. Para las cuotas de disco existe la llamada quotactl().

Por cierto, para todo estó hay que tener el kernel compilado para que soporte límites en recursos ;).

Salu2!
2 respuestas