¿Cómo limitar el número de inicios de sesión activos por usuario?

12

¿Cómo puedo limitar el número de inicios de sesión activos por usuario?

He visto esto en varios servidores antes, y me preguntaba cómo podría configurar esto yo mismo. Quizás en esos casos, ¿esto se logró limitando el número de inicios de sesión SSH activos por usuario? Y supongo que ese sería el camino a seguir. ¿Cómo iba a configurar esto?

Sildoreth
fuente

Respuestas:

10

/etc/security/limits.conf, al menos en Debian. La ruta puede variar un poco según la distribución. Hay un ejemplo en el archivo para limitar todos los miembros del studentgrupo a 4 inicios de sesión (comentado):

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

Puede hacerlo en *lugar de un grupo, pero asegúrese de no golpear a los usuarios que no desea limitar (por ejemplo, un miembro del personal)

derobert
fuente
3
Para googlers rápidos: @studentsignifica los miembros del grupo "estudiante". Para limitar solo el usuario "estudiante", elimine el " @" desde el principio.
peterh - Restablece a Monica el
5

Según el hombre de limits.confusted puede establecer restricciones en /etc/security/limits.conf:

maxsyslogins 
maximum number of all logins on system 

Para que pueda configurar (2 inicios de sesión):

* hard maxsyslogins 2

En otro post se dice que no se usa /etc/security/limits.conf. No pude encontrar nada relacionado con eso, excepto que el valor que se establece en el /etc/security/limits.d/*.confarchivo anulará el mismo valor en /etc/security/limits.conf.

Del hombre pag de pam_limits :

Por defecto, los límites se toman del archivo de configuración /etc/security/limits.conf. Luego se leen los archivos * .conf individuales del directorio /etc/security/limits.d/. Los archivos se analizan uno tras otro en el orden de la configuración regional "C". El efecto de los archivos individuales es el mismo que si todos los archivos se concatenaran juntos en el orden de análisis. Si un archivo de configuración se especifica explícitamente con una opción de módulo, los archivos en el directorio anterior no se analizan.

taliezin
fuente
maxsyslogins es el límite total, no el por usuario que se le preguntó ...
Gert van den Berg
1

En los sistemas GNU / Linux modernos, pam_limitspuede limitar el número de sesiones por usuario.

Para limitar el número de sesiones por usuario, puede agregar entradas a un archivo en /etc/limits.d/(digamos /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

Otros sistemas operativos y sistemas similares a Unix sin el módulo pam_limits serían diferentes.

Gert van den Berg
fuente