Tags: patch
I tried this patch from here[1] and seems to works all fine. This issue seems
solved.
[1] http://ubuntustudio.com/wiki/index.php/Breezy:Rlimits-Aware_PAM
diff -ru pam-0.76/Linux-PAM/modules/pam_limits/pam_limits.c pam-0.76-patched/Linux-PAM/modules/pam_limits/pam_limits.c
--- pam-0.76/Linux-PAM/modules/pam_limits/pam_limits.c 2006-02-04 15:32:27.000000000 -0500
+++ pam-0.76-patched/Linux-PAM/modules/pam_limits/pam_limits.c 2006-02-04 15:35:52.000000000 -0500
@@ -34,6 +34,11 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/resource.h>
+/* hack: glibc-2.3.6 doesn't yet know about these yet */
+#define RLIMIT_NICE 13
+#define RLIMIT_RTPRIO 14
+#undef RLIM_NLIMITS
+#define RLIM_NLIMITS 15
#include <utmp.h>
#ifndef UT_USER /* some systems have ut_name instead of ut_user */
@@ -367,6 +372,14 @@
else if (strcmp(lim_item, "locks") == 0)
limit_item = RLIMIT_LOCKS;
#endif
+#ifdef RLIMIT_RTPRIO
+ else if (strcmp(lim_item, "rtprio") == 0)
+ limit_item = RLIMIT_RTPRIO;
+#endif
+#ifdef RLIMIT_NICE
+ else if (strcmp(lim_item, "nice") == 0)
+ limit_item = RLIMIT_NICE;
+#endif
else if (strcmp(lim_item, "maxlogins") == 0) {
limit_item = LIMIT_LOGIN;
pl->flag_numsyslogins = 0;
@@ -443,6 +456,15 @@
#endif
limit_value *= 1024;
break;
+#ifdef RLIMIT_NICE
+ case RLIMIT_NICE:
+ if (limit_value > 19)
+ limit_value = 19;
+ if (limit_value < -20)
+ limit_value = -20;
+ limit_value = 19 - limit_value;
+ break;
+#endif
}
if ( (limit_item != LIMIT_LOGIN)
Only in pam-0.76-patched/Linux-PAM/modules/pam_limits: pam_limits.c.orig
diff -ru pam-0.76/Linux-PAM/modules/pam_limits/README pam-0.76-patched/Linux-PAM/modules/pam_limits/README
--- pam-0.76/Linux-PAM/modules/pam_limits/README 2002-09-15 16:08:50.000000000 -0400
+++ pam-0.76-patched/Linux-PAM/modules/pam_limits/README 2006-02-04 15:34:54.000000000 -0500
@@ -39,6 +39,9 @@
- maxsyslogins - max number of logins on the system
- priority - lower the priority by given value (value can be -ve)
- locks - max locked files (Linux 2.4 and higher)
+ - nice - max nice priority allowed to raise to. (Linux 2.6.12 and higher)
+ - rtprio - max realtime priority allowed for non-priviledged processes
+ (Linux 2.6.12 and higher)
Note, if you specify a type of '-' but neglect to supply the item and
value fields then the module will never enforce any limits on the