Как ограничить количество активных входов в систему на пользователя?

12

Как я могу ограничить количество активных входов в систему на пользователя?

Я видел это на разных серверах раньше, и мне было интересно, как я мог настроить это сам. Возможно, в этих случаях это было достигнуто путем ограничения количества активных входов SSH на пользователя? И я думаю, что это будет путь. Как бы я это настроил?

Sildoreth
источник

Ответы:

10

/etc/security/limits.confпо крайней мере на Debian. Путь может немного отличаться от дистрибутива. В файле приведен пример ограничения всех членов studentгруппы 4-мя логинами (закомментировано):

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

Вы могли бы сделать *вместо группы, но убедитесь, что не попали пользователей, которых вы не хотите ограничивать (например, сотрудник)

derobert
источник
3
Для быстрых гуглеров: @studentозначает членов группы «студент». Чтобы ограничить только пользователя «студент», удалите « @» с самого начала.
Петер - Восстановить Монику
5

По словам человека из limits.confвас может установить ограничение в /etc/security/limits.conf:

maxsyslogins 
maximum number of all logins on system 

Таким образом, вы можете установить (2 входа):

* hard maxsyslogins 2

В другом посте сказано не использовать /etc/security/limits.conf. Я не смог найти ничего, связанного с этим, кроме того, что значение, установленное в /etc/security/limits.d/*.confфайле, переопределит то же значение в /etc/security/limits.conf.

Из мужской страницы pam_limits :

По умолчанию ограничения взяты из конфигурационного файла /etc/security/limits.conf. Затем читаются отдельные файлы * .conf из каталога /etc/security/limits.d/. Файлы анализируются один за другим в порядке «C». Эффект отдельных файлов такой же, как если бы все файлы были объединены вместе в порядке разбора. Если файл конфигурации явно указан с опцией модуля, то файлы в указанном выше каталоге не анализируются.

taliezin
источник
maxsyslogins - это общий лимит, а не на пользователя, который был задан ...
Герт ван ден Берг
1

В современных системах GNU / Linux pam_limitsможет ограничивать количество сеансов на пользователя.

Чтобы ограничить количество сеансов на пользователя, вы можете добавить записи в файл в /etc/limits.d/(скажем /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

Другие Unix-подобные ОС и системы без модуля pam_limits будут отличаться.

Герт ван ден Берг
источник