なんでそんなことするの?
面倒だけど、そんな需要もあるところにはあるのです。
OSはCentOS6です。
vsftpdを介した通信(FTPやFTPS)を廃止して、sshで完結するSCPやSFTPを使いたい。でもFTPのように使いたいのでシェルにログインできなくしたい。
そんなときに/sbin/nologinで制限すると、シェルログインできなくなりますが、勢い余ってSFTPも使えなくなってしまいます……
「でもあきらめたくない!sshは制限してSFTPだけ使いたい!あ、面倒な方法以外でね^^v」
そんなクッソワガママなあなたにピッタリの方法がこちら↓
useradd -s /usr/libexec/openssh/sftp-server hogehoge
通常は「/sbin/nologin」と書くところに、sftp-serverを突っ込みます。ユーザーの名前(hogehoge)は適宜書き換えてください。
sftp-serverの場所は違うかもしれないので、そのときはfindコマンドで見つけるなりしてください。
ちゃんとこれで動きます。かなり乱暴な気がしないでもないですが……
参考ページ
sshを制限してsftpだけ許可する - GeekFactory
http://int128.hatenablog.com/entry/20100126/1264511908
上記記事の設定方法を端折っただけです。
元記事のほうが丁寧な設定だと思いますが、ワンライナーで済むというのもいいのかな?