SFTP
SFTPサーバ設定
OpenSSH-ServerにはSFTPサーバも含まれています。
デフォルトの利用においては困ることは無いですが、FTPのようにログを出力するようにする事も可能
ここではログファシリティをAUTHPRIV、ログレベルをINFOデフォルトumaskを002にしています
# vim /etc/ssh/sshd_config
Subsystem sftp /usr/libexec/openssh/sftp-server -f AUTHPRIV -l INFO -u 002
またSSHは許可せず、SFTPのみ許可したい場合はユーザー・グループ単位で指定可能です。
SFTPのみ許可設定する場合はデフォルトのsftp-serverではなく、internal-sftpを利用
# vim /etc/ssh/sshd_config
Match User sftp-user
ForceCommand internal-sftp -f AUTHPRIV -l INFO -u 002
internal-sftpを利用する事で、ユーザーのログインシェルを/sbin/nologinにする事もできる
Match User定義は明確な定義完了の区切りが無いため、通常の設定をMatch User定義の後ろに書くと、
サーバ設定として認識されずうまく動かない事があるため、必ずコンフィグの最後に記述する
chroot設定
SFTPなどでFTPと同じようにchrootさせたい場合がある
まずchrootさせたいユーザーがログインするディレクトリの上の階層がROOT権限、
chrootユーザーで読み書きできない権限755である必要がある
# mkdir /home/chroot/user
SSHサーバの設定にchrootしたいユーザーとディレクトリを定義
# vim /etc/ssh/sshd_config
Match User sftp-user
ChrootDirectory ~/
ForceCommand internal-sftp