创建sftp账号,只允许访问指定目录

1.先安装vsftpd,以centos7为例

yum install vsftpd -y

2.创建sftp账号,只允许访问/home/sftpUser。

1)创建sftpUser账号

useradd -m sftpUser

2)修改sftpUser账号密码

passwd sftpUser

3)设置目录权限

chown -R root:sftpUser /home/sftpUser

chmod 755 /home/sftpUser  ###设定的目录必须是root用户所有,否则就会出现问题。所以请确保sftp用户根目录的所有人是root, 权限是 750 或者 755。注意以下两点原则:

目录开始一直往上到系统根目录为止的目录拥有者都只能是 root,用户组可以不是 root。

chmod 775 /home/sftpUser/ceshi

 3.编辑ssh配置文件

vim /etc/ssh/sshd_config

注释Subsystem sftp /usr/lib/openssh/sftp-server

新增Subsystem sftp internal-sftp,表示sftp服务使用系统自带的internal-sftp

Match User sftpUser  # 匹配用户,多个用户用逗号分隔
ChrootDirectory /home/sftpUser   # 指定用户根目录
X11Forwarding no # 禁止X11转发
AllowTcpForwarding no # 禁止TCP转发
ForceCommand internal-sftp # 强制使用系统internal-sftp

 4.重启ssh服务

systemctl restart sshd

5.登录另外一台服务器测试,前提保障与sftp服务器之间网络互通。

1)登录 sftp sftpUser@192.168.168.132

 2)从sftp服务器上下载文件,使用get命令

get 文件名

 查看是否下载成功。

 3)把本地文件上传到sftp服务器,使用put命令。

put /home/ws/test.txt  ceshi/  #把/home/ws/test.txt文件上传到 ceshi目录下

 

posted on 2025-02-07 15:18  北橘  阅读(216)  评论(0)    收藏  举报