ログインさせたくないけどshellはほしい

あんまりないケースかもしれないけど、ないわけじゃないので。


通常ログインさせたくないユーザー(デーモンのユーザーなど)は/sbin/nologinなんかをログインシェルにして、ログインできないようにするが、これだとシェルそのものが起動しない。

何をやりたかったかというと、apacheでatdを使いたかった。

  1. リクエストを受けて、ジョブをキック
  2. レスポンスでジョブの進捗表示画面を
  3. ajaxでリアルタイムに更新し、状況を見えるようにする

ってことをするので、apacheでatジョブを登録するんだけど、atdって、実行ユーザーのシェルを起動して、そいつにコマンドを渡すようでジョブをキックできなかったんですね。

で、回避策としてやったのが、

  1. ログインシェルをbash
  2. .bash_profile に exit
  3. .bashrc に exit

で一応できた。

セキュリティー的に同なのか気になるところ。apacheでシェルを起動できないのは確かめたんだけどね。