Linuxでログインできるユーザ数を制限する方法

ALL
スポンサーリンク

Linuxでログインできるユーザ数を制限する方法です。

スポンサーリンク

システム全体のログイン数を制限する場合

limits.conf の maxsyslogins で次のように指定します。設定はすぐ適用されます。再起動不要です。

/etc/security/limits.conf

* - maxsyslogins 2

ログイン後に、システムでのログインユーザ数が maxlogins を超えていたら、Too many logins for ‘USERNAME’. の表示が出た後、ログアウトされます。
USERNAME の個所は、ログインしたユーザ名が出力されています。

例えば、maxlogins が 2 の場合は、3ユーザ目はログイン後すぐにログアウトされます。

この際、ログ(Ubuntuでは/var/log/auth.log)に
pam_limits(sshd:session): Too many logins (max 2) for USERNAME
と出ます。

1ユーザあたりのログイン数を制限する場合

limits.conf の maxlogins で次のように指定します。
設定はすぐ適用されます。再起動不要です。

/etc/security/limits.conf

* - maxlogins 2

ログイン後に、同一ユーザでのログイン数が maxlogins を超えていたら、Too many logins for ‘USERNAME’. の表示が出た後、ログアウトされます。
USERNAME の個所は、ログインしたユーザ名が出力されています。
例えば、maxlogins が 2 の場合は、3ログイン目は、ログイン後すぐにログアウトされます。

この際、ログ(Ubuntuでは/var/log/auth.log)に
pam_limits(sshd:session): Too many logins (max 2) for USERNAME
と出ます。

例外ユーザの指定

システム全体のログイン数(maxsyslogins)や、1ユーザあたりのログイン数(maxlogins)の制限を受けない、例外ユーザの指定方法です。
以下の説明中、maxlogins となっていますが、maxsyslogins も同様です。

後に記述した内容で上書きされるので、次のように書くと、ユーザ USERNAME の制限だけ、300 になります。
上限なし、の指定方法は無いようなので、とりあえず大きな値を指定しています。

* - maxlogins 2
USERNAME - maxlogins 300

また、今回説明していませんが、limits.conf では maxsyslogins , maxlogins 以外にもリソースに制限をかけることが出来ます。
次のように書くと、maxsyslogins , maxlogins も含めたユーザ USERNAME の制限は無くなります。

* - maxlogins 2
USERNAME -

参考

Linux OSユーザーの色々なリソースを制限する | A Day In The Boy’s Life
Linuxで同一ユーザの多重ログインを制限したいのですが正しく動… – 人力検索はてな
ユーザーのプロセス暴走やメモリ食いつぶし防ぐ – それマグで!
/etc/security/limits.confに関するメモ | OpenGroove
/etc/security/limits.conf のコメント文

コメント