配置文件增加:
nano -w /etc/ssh/sshd_config
# SFTP users
Match Group sftp
ChrootDirectory /sftp/%u
ForceCommand internal-sftp
创建用户:
groupadd sftp
chown root.sftp /sftp
useradd melook -d /sftp/melook -s /sbin/nologin -g sftp
mkdir /sftp/melook/http
chown melook.sftp /sftp/melook/http
chmod -R 755 /sftp/melook/http
目录的权限设定有两个要点:
1、由ChrootDirectory指定的目录开始一直往上到系统根目录为止的目录拥有者都只能是root
2、由ChrootDirectory指定的目录开始一直往上到系统根目录为止都不可以具有群组写入权限
所以遵循以上两个原则
1)我们将/sftp/melook的所有者设置为了root,所有组设置为sftp
2)我们将/sftp/melook的权限设置为755,所有者root有写入权限,而所有组sftp无写入权限
6、建立SFTP用户登入后可写入的目录
照上面设置后,在重启sshd服务后,用户mysftp已经可以登录,但使用chroot指定根目录后,根应该是无法写入的,所以要新建一个目录供mysftp上传文件。这个目录所有者为melook,所有组为sftp,所有者有写入权限,而所有组无写入权限