1.查看openssh软件版本,想sftp服务用户只能访问特定的文件目录,版本需要4.8以上
[root@iZwz9d5ft4g687cdt47wx4Z ~]# rpm -qa | grep openssh
openssh-server-7.4p1-13.el7_4.x86_64
openssh-7.4p1-13.el7_4.x86_64
openssh-clients-7.4p1-13.el7_4.x86_64
2.新增用户,并设置密码
[root@iZwz9d5ft4g687cdt47wx4Z ~]# useradd jork
[root@iZwz9d5ft4g687cdt47wx4Z ~]# passwd jork
3.限制用户通过sftp登录进来时只能进入主目录,修改/etc/ssh/sshd_config文件,在问价末添加如下
[root@iZwz9d5ft4g687cdt47wx4Z ~]# vim /etc/ssh/sshd_config
...
# 定义要使用 chroot 监狱的用户
Match User bacts
# 指定 chroot 监狱目录
ChrootDirectory /bacts
ForceCommand internal-sftp
目录权限设置上要遵循2点:
- ChrootDirectory设置的目录权限及其所有的上级文件夹权限,属主和属组必须是root;
- ChrootDirectory设置的目录权限及其所有的上级文件夹权限,只有属主能拥有写权限,权限最大设置只能是755。
4.重启sshd服务
5.引用博客
sftp服务限制用户登录家目录
https://my.oschina.net/davehe/blog/100280
使用 chroot 监狱限制 SSH 用户访问指定目录
https://linux.cn/article-8313-1.html