Bagaimana cara membatasi jumlah login aktif per pengguna?

12

Bagaimana saya bisa membatasi jumlah login aktif per pengguna?

Saya pernah melihat ini di berbagai server sebelumnya, dan saya bertanya-tanya bagaimana saya bisa mengatur ini sendiri. Mungkin dalam kasus tersebut, ini dilakukan dengan membatasi jumlah login SSH aktif per pengguna? Dan saya kira itulah jalan yang harus ditempuh. Bagaimana saya mengatur ini?

Sildoreth
sumber

Jawaban:

10

/etc/security/limits.conf, setidaknya di Debian. Path mungkin sedikit berbeda menurut distro. Ada contoh dalam file untuk membatasi semua anggota studentgrup hingga 4 login (dikomentari):

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

Anda dapat melakukannya *sebagai ganti grup, tetapi pastikan untuk tidak menekan pengguna yang tidak ingin Anda batasi (misalnya, anggota staf)

derobert
sumber
3
Untuk googler cepat: @studentberarti anggota grup "pelajar". Untuk membatasi hanya "siswa" pengguna, hapus " @" dari awal.
peterh
5

Menurut orang dari limits.confAnda dapat mengatur pembatasan di /etc/security/limits.conf:

maxsyslogins 
maximum number of all logins on system 

Jadi Anda dapat mengatur (2 login):

* hard maxsyslogins 2

Di pos lain dikatakan tidak digunakan /etc/security/limits.conf. Saya tidak dapat menemukan apa pun yang terkait dengan itu kecuali nilai yang diatur dalam /etc/security/limits.d/*.conffile akan menimpa nilai yang sama di /etc/security/limits.conf.

Dari man pag of pam_limits :

Secara default, batas diambil dari file konfigurasi /etc/security/limits.conf. Kemudian file individual * .conf dari direktori /etc/security/limits.d/ dibaca. File diurai satu demi satu dalam urutan lokal "C". Efek dari masing-masing file sama seperti jika semua file digabungkan bersama dalam urutan parsing. Jika file config ditentukan secara eksplisit dengan opsi modul maka file dalam direktori di atas tidak diuraikan.

taliezin
sumber
maxsyslogins adalah batas total, bukan batas per pengguna yang diminta ...
Gert van den Berg
1

Pada sistem GNU / Linux modern, pam_limitsdapat membatasi jumlah sesi per pengguna.

Untuk membatasi jumlah sesi per pengguna, Anda dapat menambahkan entri ke file di /etc/limits.d/(katakanlah /etc/limits.d/maxlogins.conf)

# 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

OS dan sistem seperti Unix lainnya tanpa modul pam_limits akan berbeda.

Gert van den Berg
sumber