sftp限制用户目录

2019-10-23 11:13:54 浏览数 (1)

背景说明:

业务部门需通过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用户

代码语言:txt复制
[root@redhat6 ~]# useradd -d  /opt/AppServer/apache-tomcat-6.0.35/webapps/ROOT/umswav/orgwav -s /sbin/nologin

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

2.修改配置文件sshd_config

代码语言:txt复制
[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

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

3.修改目录权限

3.1 修改限制目录权限

代码语言:txt复制
[root@redhat6 ~]# chmod -R 755 /opt

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

3.2 修改上传目录权限

代码语言:txt复制
[root@redhat6 ~]# chown user-sftp:user-sftp /opt/AppServer/apache-tomcat-6.0.35/webapps/ROOT/umswav/orgwav/

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

4.重启ssh服务

代码语言:txt复制
[root@redhat6 ~]# service sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]

5.测试

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

0 人点赞