web-dev-qa-db-ja.com

ユーザーごとのアクティブなログイン数を制限するにはどうすればよいですか?

ユーザーごとのアクティブなログイン数を制限するにはどうすればよいですか?

これは以前にさまざまなサーバーで見たことがありますが、自分でこれをどのように設定できるのか疑問に思っていました。おそらくそれらのケースでは、これはユーザーごとのアクティブなSSHログインの数を制限することによって達成されましたか?そして、それが進むべき道だと思います。これをどのように設定しますか?

12
Sildoreth

/etc/security/limits.conf、少なくともDebianでは。パスは、ディストリビューションによって多少異なる場合があります。 studentグループのすべてのメンバーを4ログイン(コメントアウト)に制限する例がファイルにあります。

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

*グループではなく、制限したくないユーザー(スタッフなど)にヒットしないようにしてください。

10
derobert

limits.confの-​​ man に従って、/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 のman pagから:

デフォルトでは、制限は/etc/security/limits.conf構成ファイルから取得されます。次に、/ etc/security/limits.d /ディレクトリから個別の* .confファイルが読み取られます。ファイルは「C」ロケールの順序で次々に解析されます。個々のファイルの効果は、すべてのファイルが解析順に連結された場合と同じです。構成ファイルがモジュールオプションで明示的に指定されている場合、上記のディレクトリ内のファイルは解析されません。

5
taliezin

最近の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

Pam_limitsモジュールのない他のUnixライクなOSおよびシステムは異なります。

0