背景说明:
业务部门需通过sftp(22端口)用堡垒机访问应用服务器,以替换欢迎语语音。

 

环境说明:

主机名 操作系统版本 ip 备注
redhat6.8 Red Hat Enterprise Linux Server release 6.8 (Santiago) 172.27.9.199 应用服务器,关闭selinux
localhost Red Hat Enterprise Linux Server release 6.8 (Santiago) 172.27.9.189 sftp连接测试

 

vsftp搭建安装详见:Redhat6.8搭建ftp服务器并限制用户目录和访问ip

1.新建ftp用户

[root@redhat6 ~]# useradd -d  /opt/AppServer/apache-tomcat-6.0.35/webapps/ROOT/umswav/orgwav -s /sbin/nologin

sftp限制用户目录

/opt/AppServer/apache-tomcat-6.0.35/webapps/ROOT/umswav/orgwav为欢迎语存放路径,新建ftp用户user-sftp并设置其家目录为该路径,该用户为ftp专用用户,不能直接ssh登录。

2.修改配置文件sshd_config

[root@redhat6 ~]# view /etc/ssh/sshd_config
#Subsystem      sftp    /usr/libexec/openssh/sftp-server

Subsystem sftp internal-sftp
Match User user-sftp   #ftp的用户名 
      ChrootDirectory /opt/AppServer/apache-tomcat-6.0.35/webapps/ROOT/umswav   #限制ftp用户的目录
      AllowTCPForwarding no
      X11Forwarding no
      ForceCommand internal-sftp

sftp限制用户目录_第1张图片

user-sftp为ftp用户,/opt/AppServer/apache-tomcat-6.0.35/webapps/ROOT/umswav为限制目录,即不能往上切换

3.修改目录权限

3.1 修改限制目录权限

[root@redhat6 ~]# chmod -R 755 /opt

限制目录属主必须为root且权限不能高于755(可以取值755或者750),该目录下ftp用户可以get但不能put。

3.2 修改上传目录权限

[root@redhat6 ~]# chown user-sftp:user-sftp /opt/AppServer/apache-tomcat-6.0.35/webapps/ROOT/umswav/orgwav/

将上传目录的属主更改为ftp用户,这样就有权限上传文件。

4.重启ssh服务

[root@redhat6 ~]# service sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]

5.测试

通过sftp登录并测试上传下载和目录限制情况

sftp限制用户目录_第2张图片