FTPの設定をしたときに、
/usr/sbin/nologinについて調べたら色々面白かったので簡単に実験してみた。

/usr/sbin/nologinは/etc/nologin.txtを読み込む

らしい。読み込んで表示した後はexitされる。
しかし/etc/nologin.txtなどというファイルは存在しなかった。

なので試しに、自分でファイルを作成してみた。

そしてログインしてみる。

期待した通りのことができた。
これでサーバに不正にログインしようとした人を「ドキッ!」とさせることができる。

ログインシェルを別のコマンドに変える

ログインシェルは/etc/passwdに書かれたものが実行される特性を利用して、
別のコマンドを起動してみた。

ログインシェルを /usr/bin/wに変更(ログインユーザをみるコマンド)。

/usr/bin/wが実行され、ログインユーザが表示された。

ログインシェルを空白にする

本来は記載されているログインシェルを空白にしてみた。
するとshが起動した。これは意外。
なのでログインシェルを起動させたくない場合は、/usr/sbin/nologin/usr/bin/falseをちゃんと明記した方が良いということがわかった。

感想

ログインシェル面白い。
自分でコンパイルした実行ファイルなどを指定したらもっと面白いことができそう。