<span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'="">简介
<span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'="">本文介绍在云主机内配置ftp,将ftp的根目录设置为对象存储bucket中的子目录的配置方法;此配置可以直接实现通过ftp上传文件到对象存储的bucket中;
<span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'="">前提条件
<span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'=""><span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'="">环境配置如下:
<span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'=""> centos 7.4 <span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'="">云主机
s3fs 版本 1.85
pure-ftp 版本 1.0.47
<span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'="">配置方法:
<span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'="">一、创建bucket,同时在云主机内安装s3fs
1、在oss控制台创建一个bucket,本文bucket名称为jdftp;
<span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'=""><span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'="">
<span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'=""><span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'="">2、安装s3fs,参考 https://docs.jdcloud.com/cn/object-storage-service/s3fs 进行安装,本文将bucket挂载到云主机上的目录为jdftp;
<span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'=""><span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'="">
<span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'=""><span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'="">
<span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'=""><span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'="">二、主机内安装ftp,本文安装的是pure-ftpd
1、用如下命令进行安装
yum install -y pure-ftpd
2、安装完成后先修改配置文件/etc/pure-ftpd/pure-ftpd.conf
<span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'=""><span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'="">把PureDB /etc/pure-ftpd/pureftpd.pdb前面的#删除;
<span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'=""><span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'="">
<span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'=""><span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'="">3、启动pure-ftpd。
<span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'=""><span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'="">启动命令为systemctl start pure-ftpd。
<span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'=""><span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'="">启动完使用ps aux |grep pure-ftpd 命令看下是否有pure-ftp的进程;
<span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'=""><span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'="">
<span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'=""><span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'="">4、创建账户,为了安全,pure-ftpd使用的账号并非linux的系统账号,而是虚拟账号。
<span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'=""><span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'="">创建虚拟账户jdftp,-u是将虚拟用户jdftp与系统用户pure-ftp关联在一起。
<span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'=""><span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'="">也就是说,使用jdftp账号登录ftp后,会以pure-ftp的身份来读取和下载文件,-d是指定jdftp账户的家目录。
<span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'=""><span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'="">这样可以使用户ftp_usera只能访问其家目录/jdftp/ftptest/。
<span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'=""><span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'="">
5、调整/jdftp/ftptest的属主权限。
<span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'=""><span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'=""> s3fs jdftp /jdftp -o allow_other -o uid=1000,umask=000,gid=1000 -o passwd_file=~/.passwd-s3fs -o url="https://s3.cn-north-1.jdcloud-oss.com" (其中allow_other是允许非root用户访问OSS ;uid=1000,umask=000,gid=1000 是设置目录的属主和权限)
<span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'=""><span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'="">
<span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'=""><span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'="">6、创建用户信息数据库文件,使用命令pure-pw mkdb
<span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'=""><span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'="">之后使用 pure-pw list 查看下账户信息;
<span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'=""><span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'="">
<span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'=""><span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'="">7、在/jdftp/ftptest 目录下创建一个测试文件 jdftptest.txt
<span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'=""><span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'="">
<span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'=""><span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'="">8、通过ftp客户端连接测试,连接正常
<span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'=""><span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'="">并在可以直接对目录进行文件上传下载的操作;
<span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'="">
<span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'=""><span微软雅黑",sans-serif; mso-bidi-font-family:"times="" new="" roman";mso-bidi-theme-font:minor-bidi;="" color:#333333;background:white;mso-ansi-language:en-us;mso-fareast-language:="" zh-cn;mso-bidi-language:ar-sa'="">
在此感谢各位童鞋阅读,如果能够对大家有所帮助,欢迎点赞转发。
配置ftp连接对象存储bucket子目录的方法 京东云技术交付部 2021-01-27 IP归属:未知 44160浏览 收藏 云主机 云计算 公有云 简介本文介绍在云主机内配置ftp,将ftp的根目录设置为对象存储bucket中的子目录的配置方法;此配置可以直接实现通过ftp上传文件到对象存储的bucket中;
前提条件
环境配置如下:
centos 7.4 云主机
s3fs 版本 1.85
pure-ftp 版本 1.0.47
配置方法:
一、创建bucket,同时在云主机内安装s3fs
1、在oss控制台创建一个bucket,本文bucket名称为jdftp;
2、安装s3fs,参考 https://docs.jdcloud.com/cn/object-storage-service/s3fs 进行安装,本文将bucket挂载到云主机上的目录为jdftp;
二、主机内安装ftp,本文安装的是pure-ftpd
1、用如下命令进行安装
yum install -y pure-ftpd
2、安装完成后先修改配置文件/etc/pure-ftpd/pure-ftpd.conf
把PureDB /etc/pure-ftpd/pureftpd.pdb前面的#删除;
3、启动pure-ftpd。
启动命令为systemctl start pure-ftpd。
启动完使用ps aux |grep pure-ftpd 命令看下是否有pure-ftp的进程;
4、创建账户,为了安全,pure-ftpd使用的账号并非linux的系统账号,而是虚拟账号。
创建虚拟账户jdftp,-u是将虚拟用户jdftp与系统用户pure-ftp关联在一起。
也就是说,使用jdftp账号登录ftp后,会以pure-ftp的身份来读取和下载文件,-d是指定jdftp账户的家目录。
这样可以使用户ftp_usera只能访问其家目录/jdftp/ftptest/。
5、调整/jdftp/ftptest的属主权限。
由于jdftp是通过s3fs挂载的bucket目录,直接使用chown是无法修改属主权限的,需要在s3fs挂载的时候指定下属主。
目前需要先使用umount命令将/jdftp卸载,之后重新使用s3fs命令挂载。
挂载的命令如下:
s3fs jdftp /jdftp -o allow_other -o uid=1000,umask=000,gid=1000 -o passwd_file=~/.passwd-s3fs -o url="https://s3.cn-north-1.jdcloud-oss.com" (其中allow_other是允许非root用户访问OSS ;uid=1000,umask=000,gid=1000 是设置目录的属主和权限)
6、创建用户信息数据库文件,使用命令pure-pw mkdb
之后使用 pure-pw list 查看下账户信息;
7、在/jdftp/ftptest 目录下创建一个测试文件 jdftptest.txt
8、通过ftp客户端连接测试,连接正常
并在可以直接对目录进行文件上传下载的操作;
在此感谢各位童鞋阅读,如果能够对大家有所帮助,欢迎点赞转发。
同时欢迎扫码关注京东云技术中台团队的公众号:云服务飞行团;更多精彩内容会持续放送!
同时欢迎扫码关注京东云技术中台团队的公众号:云服务飞行团;更多精彩内容会持续放送!