Einfache Möglichkeit, ein Programm unter CentOS 6 zu blockieren?

7

Einer unserer Benutzer hat sein eigenes Programm in seinem Home-Verzeichnis kompiliert. Normalerweise macht es uns nichts aus, aber dieses spezielle Programm hat einen Speicherverlust und frisst in den SWAP. Wir haben dieser Benutzerin oft gesagt, dass sie das Programm nicht ausführen soll, und sie würde dennoch nicht zuhören.

Gibt es eine einfache Möglichkeit, die Ausführung eines bestimmten Programms zu blockieren?

lbanz
quelle
9
Ändern Sie die Shell des Benutzers in/sbin/nologin
Alexus
13
Den Benutzer loswerden.
Ceejayoz
2
Wenn der Benutzer seine Meinung ändert und kooperieren möchte, teilen Sie ihm mit, wie (und machen Sie es ihr einfach) das Programm mit einem selbst auferlegten Speicherlimit starten kann, das mit ulimit( setrlimit) oder eingerichtet wurde cgroups.
Punkte

Antworten:

24

Zwei Wege:

  • Verwenden Sie limits.confdiese Option, um dem Benutzer den maximal zugewiesenen Speicher pro Prozess zuzuweisen
  • Erstellen Sie eine cgroupfür diesen Benutzer, um die gesamte Speichernutzung zu begrenzen

Weitere Details finden Sie hier: /unix/34334/how-to-create-a-user-with-limited-ram-usage

Nein nein Nein
quelle
4
Ich bin hier kein Fan von technologischen Lösungen. Der Benutzer hat trotz wiederholter Warnungen seine Bereitschaft gezeigt, dem Server und seinem anderen Benutzer Schaden zuzufügen. Die IT sollte keine zusätzliche Arbeit leisten, um sie im Gefängnis zu halten. Der Benutzer sollte den Zugriff verlieren und wahrscheinlich entlassen werden, wenn er ein Mitarbeiter ist.
Ceejayoz
6
Man sollte auch ein System haben, das Richtlinien erzwingt, anstatt Benutzer nur nachträglich zu verbieten.
Jesse K
6
@ceejayoz Oder, wenn man eine technologische Lösung implementieren muss, zumindest ein bisschen Spaß damit haben. "Sie sagen, als Sie Ihr Programm erneut ausgeführt haben, wurden alle Ihre Dateien gelöscht? Seltsam. Nun, wir haben Ihnen gesagt, Sie sollen es nicht erneut ausführen, oder?"
HopelessN00b
Ich denke, ärgerlich wäre genug, um die Angelegenheit zu lösen. Etwas in der Zeile des Zurücksetzens des Passworts, so dass sie jedes Mal einen Spaziergang machen / anrufen muss.
Dryman
3
Ich würde dies als Lösung nehmen. Ich weiß, dass die meisten Leute zustimmen, dass wir den Benutzer nur verbieten sollten, um ihn daran zu hindern, sich bei den Servern anzumelden. Leider funktioniert das in einer wissenschaftlichen Forschungsumgebung nicht so.
lbanz
11

Sie versuchen, ein menschliches Problem mit technischen Mitteln zu lösen. Diese Person verstößt wissentlich gegen Richtlinien. Die angemessene Antwort besteht darin, (wie @ceejayoz oben mit Bedacht erwähnt hat) diesen Benutzer loszuwerden oder zumindest den Zugriff auf das betreffende System und andere ähnliche zu entfernen.

EEAA
quelle
4

Wenn Sie Home-Verzeichnisse auf einer separaten Partition haben, können Sie die Partition mit mounten noexec. Obwohl ich auch zustimmen würde, nur den Benutzer zu verbieten.

Bodgit
quelle
Dies kann umgangen werden, indem Sie lddirekt aufrufen und den Pfad der Datei übergeben, die Sie als Argument ausführen möchten.
André Borie