首先
你的openssh-server版本至少得是4.8p1,因为配置权限需要版本添加的新配置项ChrootDirectory来完成。
如何查看自己服务器上的ssh版本?大家可以尝试以下命令:
# ssh -V
步骤:
1. 我们需要创建一个用户组,专门用于sftp用户
# groupadd sftpusers ps我里的用户组是sftpusers
2. 我们创建一个用户user
# useradd -s /bin/false -G sftpusers user ps注意这里我们将user用户的shell设置为/bin/false使他没有登陆shell的权限
# passwd user ps设置user用户密码
3. 编辑/etc/ssh/sshd_config
找到Subsystem这个配置项,将其修改为
Subsystem sftp internal-sftp
然后再到文件最尾处增加配置设定属于用户组sftpusers的用户都只能访问自己的文件夹
Match Group sftpusers
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
ChrootDirectory /data/sftp/%u #需在 /data/sftp/