因为选择的连接类型是 SFTP over SSH 所以访问的是 sftp服务器,sftp的配置文件中没对该用户限制根目录,所以可以访问上一级目录。但是,还是不可以写入了,除了该用户的目录文件,其他文件都是只读。
修改 /etc/ssh/sshd_conf 配置文件 锁定根目录
注意:添加的内容要在UseDNS no的下面
#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp
#匹配feng组 (匹配用户 则是 Match User username)
Match Group feng
ChrootDirectory /var/www/feng
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
在sshd配置文件中设置了根目录后,该用户连接失败,修改根目录的权限
#用户群中的用户对锁定的根目录没有写的权限,改完之后feng群组用户才能正常连接sftp服务器
chown root:root /var/www/feng
chmod 755 /var/www/feng
然后重新启动sshd 服务
systemctl restart sshd
这样就可以啦!!!
然后在/var/www/feng目录下创建目录给该用户使用:
mkdir data
设置该目录的权限
chown feng:feng /var/www/feng/data
chmod 755 /var/www/feng/data
测试成功,“feng”用户只能操作data目录,不能访问其他目录。完美!!!
如果需要再添加一个用户:
1、创建用户并设置密码
2、vim vsftpd.conf
#匹配user2组
Match Group user2
ChrootDirectory /var/www/user2
3、vim /etc/vsftpd/chroot_list 添加用户名
4、重启:systemctl restart vsftpd
5、修改用户目录权限:
chown root:root /var/www/user2
chmod 755 /var/www/user2
6、重启:systemctl restart sshd