Zumindest unter Linux scheinen die meisten Distributionen pam zur Authentifizierung zu verwenden. Ein Modul, das mit pam geliefert wird, ist das Limits- Modul. Zitat aus der README für pam_limits:
The pam_limits PAM module sets limits on the system resources that can be obtained in a user-session. Users of uid=0 are affected by this limits, too.
Infolgedessen können Sie pro Benutzer, pro Gruppe und Standardlimits in beiden Kategorien Fest (Root legt dies fest und der Prozess kann keine höheren Anforderungen stellen) und Weichlimits festlegen. Die Soft-Limits sind normalerweise niedriger als die Hard-Limits und die App kann sie nach oben erhöhen, bis sie das Hard-Limit erreicht.
In Ihrem Fall können Sie die Grenzwerte für diesen Benutzer oder diese Gruppe erhöhen, wenn der Prozess, den Sie als regulärer Benutzer ausführen möchten, die Grenzwerte erhöhen soll. Als Beispiel habe ich einige mysql-cron-Jobs auf einigen Servern, die das Öffnen zusätzlicher Datei-Handles erfordern. Deshalb habe ich Folgendes festgelegt:
$ cat /etc/security/limits.d/mysql.conf
@mysql soft nofile 100000
@mysql hard nofile 200000
Es muss nichts neu gestartet werden. Wenn Sie sich an diesen Benutzer wenden, können Sie sofort sehen, dass die neuen Grenzwerte wirksam werden.
Eine weitere Möglichkeit, die Sie auf einem typischen von RedHat abgeleiteten System ausführen können, besteht darin, den gewünschten ulimit-Aufruf in das Skript / etc / sysconfig / $ SERVICE einzufügen. Das Init-Skript von apache heißt beispielsweise /etc/init.d/httpd und gibt die Konfigurationsdatei / etc / sysconfig / httpd aus, wenn sie gefunden wird. Ich habe festgestellt, dass dies einfacher zu handhaben ist, als das Init-Skript selbst zu bearbeiten, da Init-Skripte aktualisiert werden, wenn das RPM aktualisiert wird. Sysconfig-Dateien werden jedoch nur aktualisiert, wenn sie nicht vom Standard geändert werden.