« 日経クリックにインタビュー記事が載りました | メイン | 雨が降ると電波が入らない »

2007年02月10日

SSH ログインさせないアカウントを作る

POP3 での使用するユーザアカウントがあるので、そのアカウントの SSH ログインを不可にしてみた。

$ usermod -s /bin/false user

ログインシェルに /bin/false を与えるわけですが、サーバの /etc/passwd を見ると /sbin/nologin の方が一般的な気がする。ネットで調べると /bin/false の方が多いのだけど。

$ su - user

をしてみたときの挙動が異なるみたい。

/bin/false

エラーメッセージを表示せず、ユーザのスイッチができない。

/sbin/nologin

This account is currently not available.

とエラーメッセージを表示し、ユーザのスイッチができない。

/etc/shells に記載されているかどうかの違いがあるらしい。記載されていないと FTP でユーザと利用できないみたい。でも、エラーメッセージの有無は関係ないみたい。

ま。サーバの長いものに巻かれろということで、

$ usermod -s /sbin/nologin user

と変更しました。エラーメッセージが出るほうがありがたいし。

CentOS 4 での挙動です。たとえ /sbin/nologin を指定していても、ログイン時に、ユーザがログインシェルを変更する方法があった気がするのだけど、どうやるのだろう?

【関連情報】
・ログイン不可のユーザーアカウントを作成するには
 http://www.atmarkit.co.jp/flinux/rensai/linuxtips/533cantloginuser.html
・/sbin/nologin と /bin/false どちらを使うのがスマート?
 http://blog.so-net.ne.jp/nekohat/2006-04-04

2007年02月10日 20:09 | Technology

トラックバック

コメント

ログインシェルの変更はchshコマンドでできるのでは?

投稿者 Kazubu : 2007年02月22日 22:10

すいません、見当違いのコメントをしてしまいました。失礼します。

投稿者 Kazubu : 2007年02月22日 22:14