CentOS6サーバ環境下に、複数人&複数端末でアクセスするような状況で、うっかり他の端末でログインしているにもかかわらず、別の端末でログインしてしまうような事態を回避するために、ユーザ単位で同時ログイン数の上限設定をしてみた。

設定対象ファイル:/etc/security/limits.conf

# /etc/security/limits.conf
#
#Each line describes a limit for a user in the form:
#
#<domain>        <type>  <item>  <value>
#
#Where:
#<domain> can be:
#        - an user name
#        - a group name, with @group syntax
#        - the wildcard *, for default entry
#        - the wildcard %, can be also used with %group syntax,
#                 for maxlogin limit
#
#<type> can have the two values:
#        - "soft" for enforcing the soft limits
#        - "hard" for enforcing hard limits

:
(中略)
:

#<domain>      <type>  <item>         <value>
#

#*                    soft        core            0
#*                    hard       rss             10000
#@student      hard       nproc           20
#@faculty        soft        nproc           20
#@faculty        hard      nproc           50
#ftp                 hard      nproc           0
#@student        -          maxlogins       4

# ユーザ指定で設定する場合。(ユーザ名=aa)
aa                 -            maxlogins       1

# 全ユーザ指定する場合。
*                    -            maxlogins       1
# End of file

上記のように、"maxlogin"に続く数値を変更すれば指定できる。

この場合には、ユーザ指定時も全ユーザ指定時も、どちらも同時ログイン数は1。つまり、だれか(自分?)は他の端末からログインしている場合にはログインが拒絶されることになる。(細かく個別指定したいユーザが多いときはたいへんだけど、管理者だから我慢我慢。)

もちろん、設定がなければだれも制限はされない(=意識的にこの設定をしていなければコメントアウトされている)ことになります。