CPU/Speicherbegrenzung für User

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
j A n
Beiträge: 86
Registriert: 19.12.2004 11:16:00
Kontaktdaten:

CPU/Speicherbegrenzung für User

Beitrag von j A n » 26.04.2005 14:41:11

Hallo Debianer, :)

ich würde gerne eine CPU/Speichergrenze pro Benutzer einrichten, habe bisher aber noch keinen Schimmer wie ich das realisieren kann.
Hintergrund ist der das sonst einige Nutzer durch Endlosschleifen oder Sonstige bößartige Programme den Server für alle lahmlegen können .
MfG

j A n

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 26.04.2005 16:23:58

Code: Alles auswählen

man limits.conf
man ulimit

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 26.04.2005 16:29:38

Limits kannst du in der Datei /etc/security/limits.conf konfigurieren.
z.B.:
Einstellungen für die max. Anzahl an offenen Files

Code: Alles auswählen

*  soft  nofile  1024
*  hard  nofile  65536

Mit dem Kommando "ulimit -a" kannst du dir die aktuellen Einstellungen anzeigen lassen, bzw die aktuelle Einstellungen verändern (max auf die Höhe des "hard"-Werts)

Gruß
gms

j A n
Beiträge: 86
Registriert: 19.12.2004 11:16:00
Kontaktdaten:

Beitrag von j A n » 29.04.2005 07:42:37

Hallo,

leider funktioniert es noch nicht so recht.

Habe folgendes in meiner limits.conf

Code: Alles auswählen

*                soft    cpu             2
*                hard    cpu             4
*                soft    core            65536
*                hard    core            65536
*                -       nproc           128
*                -       priority        17
dann habe ich in die /etc/pam.d/xdm, login und sshh die Zeile
session required /lib/security/pam_limits.so
eingetragen.

Wenn ich nun aber ulimit -a ausführe zeigt er immernoch verkehrte Werte an.
Woran kann das liegen ?
MfG

j A n

Benutzeravatar
MartinL25
Beiträge: 437
Registriert: 17.04.2005 15:29:09

Beitrag von MartinL25 » 01.05.2005 18:18:45

Hast Du Dich neu eingelogt? Ctrl-Alt-F1 und login auf einer Textkonsole reicht zum überprüfen.

Gruß Martin

EDIT: Kommando zurück. Das muß ich erst noch mal überprüfen. Sorry.
EDIT 2: Okay, hab's bei mir mal ausprobiert, habe in in "/etc/pam.d/login" die Zeile

Code: Alles auswählen

session    required   pam_limits.so
auskommentiert und in "/etc/security/limits.conf" die Zeilen

Code: Alles auswählen

<myusername>           soft    nproc 150
<myusername>           hard    nproc 200
eingefügt. Hab jetzt aber zwischendurch neu gebootet. (Tippfehler beim username, forkbomb ausprobiert -> neustart.) Könnte es angehen, daß der "/etc/pam.d/login"-Eintrag keinen ganzen Pfad haben will? Ansonsten habe ich ne Standarddebianinstallation.

Gruß Martin

j A n
Beiträge: 86
Registriert: 19.12.2004 11:16:00
Kontaktdaten:

Beitrag von j A n » 03.05.2005 07:43:15

Moin,

ich habe nun mal probehalber einige Werte umgestellt und getestet. Es scheint doch zu funktionieren.

Das Problem ist allerdings das ich für alle User des Systems einheitliche Werte festlegen möchte aber root und einige andere bestimmte User davon ausnehmen möchte.

Was muss ich bei <value> eintragen um keine Grenze fest zu legen ?
unlimited funktioniert leider nicht.

Kann mir vielleicht noch jemand den Unterschied zwischen /etc/limits und /etc/security/limits.conf nennen?
MfG

j A n

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 03.05.2005 09:45:17

die /etc/security/limits.conf wird von PAM benutzt, die /etc/limits nicht. Letztere wurde von älteren login versionen benutzt.

Wenn ich kein limit (=unlimited) setzen möchte, trage ich im Normalfall auch gar nichts ein, aber du kannst einmal "-1" versuchen (ohne Gewähr).


Gruß
gms

j A n
Beiträge: 86
Registriert: 19.12.2004 11:16:00
Kontaktdaten:

Beitrag von j A n » 03.05.2005 14:09:50

Problem ist ja das wenn ich mit * arbeite das er dann die limits auch für root und andere systembenutzer einschränkt.
Ich möchte aber das root keine beschränkungen hat. Ich habe es jetzt erstmal so gelöst das ich sehr hohe Werte eintrege (99999) die eh nie erreicht werden. Ist aber halt nicht optimal.
MfG

j A n

Antworten