การจำกัด (limit) จำนวนการ login พร้อมกันโดยใช้ชื่อผู้ใช้เดียวกัน สามารถคอนฟิกด้วยออปชั่น “maxlogins” ในไฟล์ /etc/security/limits.conf
คำอธิบายออปชั่น “maxlogins” คือ max number of logins for this user
คอนฟิกได้สองแบบคือ จำกัดเป็นรายคน เช่น ชื่อผู้ใช้ user1 สามารถ login ได้สูงสุดพร้อมกันได้แค่ 2 sessions แต่ถ้าต้องการจำกัดผู้ใช้ที่อยู่ในกลุ่ม (group) ให้เติมเครื่องหมาย @ ข้างหน้าชื่อกลุ่ม
ตัวอย่างคอนฟิก จำกัดผู้ใช้ user1 ให้ login พร้อมกันได้แค่ 2 sessions เท่านั้น
[root@server ~]# cat /etc/security/limits.conf user1 - maxlogins 2
หลังแก้ไขไฟล์แล้ว คอนฟิกใหม่มีผลต่อการ login ครั้งต่อไปเลย ไม่จำเป็นต้องรีสตาร์ตโปรแกรม หรือเซอร์วิสใด
ตัวอย่างข้อความในไฟล์ /var/log/secure ที่เกิดขึ้น ระหว่างการทดสอบ login
login ด้วย user1 ครั้งแรก ได้
Jul 8 13:21:19 server sshd[2375]: Accepted password for user1 from 192.168.1.12 port 4310 ssh2 Jul 8 13:21:19 server sshd[2375]: pam_unix(sshd:session): session opened for user user1 by (uid=0)
login ด้วย user1 ครั้งที่ 2 ก็ได้
Jul 8 13:21:39 server sshd[2400]: Accepted password for user1 from 192.168.1.12 port 4311 ssh2 Jul 8 13:21:39 server sshd[2400]: pam_unix(sshd:session): session opened for user user1 by (uid=0)
ใช้คำสั่ง w เพื่อดูผู้ใช้ที่ login อยู่
[user1@server ~]$ w 13:21:49 up 14 min, 3 users, load average: 0.07, 0.19, 0.25 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT admin pts/0 192.168.1.12 13:19 35.00s 0.72s 0.18s sshd: admin [priv] user1 pts/1 192.168.1.12 13:21 30.00s 0.20s 0.20s -bash user1 pts/2 192.168.1.12 13:21 0.00s 0.25s 0.04s w
login ด้วย user1 ครั้งที่ 3 จะไม่ได้แล้ว
Jul 8 13:22:00 server sshd[2426]: Accepted password for user1 from 192.168.1.12 port 4312 ssh2
Jul 8 13:22:00 server sshd[2426]: pam_limits(sshd:session): Too many logins (max 2) for user1
Jul 8 13:22:00 server sshd[2426]: pam_unix(sshd:session): session opened for user user1 by (uid=0)
Jul 8 13:22:00 server sshd[2426]: error: PAM: pam_open_session(): Permission denied