Wie kann die Anzahl der aktiven Anmeldungen pro Benutzer begrenzt werden?

12

Wie kann ich die Anzahl der aktiven Anmeldungen pro Benutzer begrenzen?

Ich habe das schon auf verschiedenen Servern gesehen und mich gefragt, wie ich das selbst einrichten könnte. Vielleicht wurde dies in diesen Fällen erreicht, indem die Anzahl der aktiven SSH-Anmeldungen pro Benutzer begrenzt wurde? Und ich denke, das wäre der richtige Weg. Wie würde ich das einrichten?

Sildoreth
quelle

Antworten:

10

/etc/security/limits.confZumindest auf Debian. Der Pfad kann je nach Distribution etwas variieren. Die Datei enthält ein Beispiel, um alle Mitglieder der studentGruppe auf 4 Anmeldungen zu beschränken (auskommentiert):

#<domain>      <type>   <item>          <value>
@student       -        maxlogins       4

Sie können dies *anstelle einer Gruppe tun , aber stellen Sie sicher, dass Sie keine Benutzer treffen, die Sie nicht einschränken möchten (z. B. einen Mitarbeiter).

derobert
quelle
3
Für schnelle Googler: bezeichnet @studentdie Mitglieder der "Studenten" -Gruppe. Um nur den Benutzer "student" einzuschränken, entfernen Sie das " @" von Anfang an.
Peterh - Wiedereinsetzung Monica
5

Laut dem Mann von limits.confIhnen können Einschränkungen festgelegt werden in /etc/security/limits.conf:

maxsyslogins 
maximum number of all logins on system 

So können Sie einstellen (2 Logins):

* hard maxsyslogins 2

In einem anderen Beitrag soll nicht verwendet werden /etc/security/limits.conf. Ich konnte nichts in Bezug darauf finden, außer dass der in der /etc/security/limits.d/*.confDatei festgelegte Wert den gleichen Wert in überschreibt /etc/security/limits.conf.

Vom Menschen pag von pam_limits :

Standardmäßig werden Grenzwerte aus der Konfigurationsdatei /etc/security/limits.conf übernommen. Anschließend werden einzelne * .conf-Dateien aus dem Verzeichnis /etc/security/limits.d/ gelesen. Die Dateien werden nacheinander in der Reihenfolge des Gebietsschemas "C" analysiert. Der Effekt der einzelnen Dateien ist der gleiche, als ob alle Dateien in der Reihenfolge der Analyse miteinander verkettet wären. Wenn eine Konfigurationsdatei explizit mit einer Moduloption angegeben wird, werden die Dateien im obigen Verzeichnis nicht analysiert.

Taliezin
quelle
maxsyslogins ist das Gesamtlimit, nicht das pro Benutzer, das gefragt wurde ...
Gert van den Berg
0

Auf modernen GNU / Linux-Systemen pam_limitskann die Anzahl der Sitzungen pro Benutzer begrenzt werden.

Um die Anzahl der Sitzungen pro Benutzer zu begrenzen, können Sie einer Datei in /etc/limits.d/(sagen wir /etc/limits.d/maxlogins.conf) Einträge hinzufügen.

# Some of the lines in this sample might conflict and overwrite each other
# The whole range is included to illustrate the possibilities
#limit users in the users group to two logins each
@users       -       maxlogins     2
#limit all users to three logins each
*            -       maxlogins     3
#limit all users except root to 20 simultaneous logins in total
*            -       maxsyslogins     20
#limit in the users group to 5 logins in total
%users       -       maxlogins     2
#limit all users with a GID >= 1000 to two logins each
1000:        -       maxlogins     2
#limit user johndoe to one login
johndoe      -       maxlogins     2

Andere Unix-ähnliche Betriebssysteme und Systeme ohne das Modul pam_limits würden sich unterscheiden.

Gert van den Berg
quelle