/etc/security/limits.conf zum Einstellen von Programmgrenzen in Linux

11843
Flavius Akerele

Ich habe folgendes in /etc/security/limits.conf (ich habe root separat angegeben, da * es nicht enthalten wird.)

user2 - core unbegrenzt * - Kern 0 Wurzel - Kern 0 * - rss 512000 root - rss 512000 * - nproc 100 root-nproc 100 * - maxlogins 1 root - maxlogins 1 

Ich führe ein Programm als user2 (./programname) aus, aber / proc / 3498 / limits sagt, dass Kerne deaktiviert sind:

Limit Soft Limit Hard Limit Einheiten  Max. CPU-Zeit unbegrenzt unbegrenzt Sekunden  Maximale Dateigröße unbegrenzt unbegrenzt Byte  Max. Datengröße unbegrenzt unbegrenzt Byte  Maximale Stapelgröße 8388608 unbegrenzte Bytes  Maximale Kerndateigröße 0 0 Byte  Maximaler residenter Satz 524288000 524288000 Bytes  Max verarbeitet 100 100 Prozesse  Maximal geöffnete Dateien 1024 bis 1024 Dateien  Maximaler gesperrter Speicher 65536 65536 Bytes  Max. Adressraum unbegrenzt unbegrenzt Byte  Max Datei sperrt unbegrenzt unbegrenzt  Max. Ausstehende Signale 14001 14001 Signale  Max. Nachrichtengröße 819200 819200 Bytes  Max nette Priorität 0 0  Max. Echtzeitpriorität 0 0  Max. Echtzeit-Timeout unbegrenzt uns 

Sowohl ulimit-Sa als auch ulimit -Ha geben aus, dass die Kerne deaktiviert sind:

Kerndateigröße (Blöcke, -c) 0 Datenseg-Größe (KB, -d) unbegrenzt Planungspriorität (-e) 0 Dateigröße (Blöcke, -f) unbegrenzt Anstehende Signale (-i) 14001 maximaler gesperrter Speicher (kBytes, -l) 64 maximale Speichergröße (kByte, -m) 512000 offene Dateien (-n) 1024 Pipe-Größe (512 Byte, -p) 8 POSIX-Nachrichtenwarteschlangen (Bytes, -q) 819200 Echtzeitpriorität (-r) 0 Stackgröße (kBytes, -s) unbegrenzt CPU-Zeit (Sekunden, -t) unbegrenzt max Benutzerprozesse (-u) 100 virtueller Speicher (kByte, -v) unbegrenzt Dateisperren (-x) unbegrenzt 

Warum sind Kerne deaktiviert?

3
Was * genau * meinst du mit "Ich führe ein Programm als Benutzer2 aus"? Vielleicht erwarten Sie, dass sich diese Grenzen magisch auferlegen - Sie müssen ein Programm ausführen, das sie auferlegt. David Schwartz vor 10 Jahren 0

2 Antworten auf die Frage

1
Jon Lin

Kann es irgendwo irgendwo ein Profil geben, mit dem die Benutzer2-Shell festgelegt wird ulimit -c 0? Wenn ich bash ohne starte ulimit -cund einen Prozess überprüfe, den ich starte, sehe ich Folgendes:

Limit Soft Limit Hard Limit Units Max core file size 0 unlimited bytes 

Aber wenn ich ulimit -c 0einen Prozess durchführe, sehe ich Folgendes:

Limit Soft Limit Hard Limit Units Max core file size 0 0 bytes 

Haben Sie die Einstellung ulimit -c unlimitedam Ende der Shell-RC-Datei von User2 versucht ?

0
Olli

Versuchen Sie die folgende Reihenfolge:

* - core 0 user2 - core unlimited root - core 0 

Zumindest für einige Einstellungen ist die Reihenfolge in der limits.conf von Bedeutung.

Ihrem Vorschlag entsprechend geändert, neu gestartet, aber mit demselben Problem fortgesetzt. Flavius Akerele vor 13 Jahren 0