背景说明:
业务部门需通过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登录并测试上传下载和目录限制情况