修改 /etc/ssh/sshd_config
#注释原本的Subsystem设置
#Subsystem sftp
/usr
/libexec
/openssh
/
sftp-server
#启用internal-sftp
Subsystem sftp internal-sftp
Match Group ftpuser
ChrootDirectory
/vhost
ForceCommand internal-sftp
需要注意的是/vhost目录所有者必须为root, 并且目录权限必须为755, 否则组内用户无法登陆
组内用户仅对 /vhost内部的目录有权限,所以需要对子目录设置为775权限,如果设置chroot前内部目录已经存在,
不能通过chmod统一设置(会覆盖掉一些权限为777的目录), 此时可以通过acl命令
为目录设置额外权限
apt-get install acl
setfacl -R -d -m g:ftpuser:rwx /vhost #对所有子目录设置默认ACL权限,从目录下创建文件会继承
setfacl -R -m g:ftpuser:rwx /vhost #对子目录下所有文件及目录设置ACL权限
可以通过getfacl查看ACL权限是否设置成功