sshログインを禁止、sftpのみを許可してhome以上の階層に遷移させない設定
昔は、sshとftpをそれぞれ設定してサーバ管理者はsshログイン、コンテンツ更新者はftpログイン(chroot)という構成をしていました。
最近のsshdは、sftp + chrootという設定が可能なのでよくやってます。いつも設定方法を忘れるのでここにメモ。
ただ、古いSSHDだとこれが出来ないので注意してください。私はSSHD5.3でやってます。
古いSSHDしか入ってなくて、入れ替えが怖い場合は、別途SSHDをコンパイルして別ポートで立ち上げれば共存できます(./configure --prefix=/usr/local/sshd --with-pam ; make ; sudo make installみたいな感じでインストールする)
ゴールは、「sshでシェルにログインさせず、sftpのみでhome以上に遷移させないユーザを作る」です。
今回は特定グループに属しているユーザのみ上記の制限をかけます。それ以外のユーザは通常のsshでログインできます。
ユーザ、グループ作成
useradd hoge groupadd sftponly gpasswd -a hoge sftponly
対象ユーザのhomeディレクトリの権限を変更
chown root.sftponly /home/hoge