0%

CentOS7使用curlftps挂载ftp为本地目录

CentOS7使用curlftps挂载ftp为本地目录

声明:本文转载自   ch3nnn >>> CentOS7使用curlftps挂载ftp为本地目录并修改

curlftps是什么?在linux下它可以将ftp挂载为本地文件夹,这样的话操作或者管理文件起来会比较方便。

一:以下皆以CentOS7下进行操作:

# 安装curlftps
yum -y install epel-release
yum -y install curlftpfs

# 挂载
# curlftps ftp://用户名:密码@ftp服务器地址 /挂载的文件夹

# 例如
curlftps ftp://kaygb:kaygbpasswd@127.0.0.1 /www/wwwroot/ftp

二:编码转换

  • 如果ftp包含特殊字符的话,需要进行ASCII编码转换
ASCII符号 中文名 编码之后的值
空格 空格 %20
感叹号 %21
& and %26
@ at %40
/ 斜杠 %2F
: 冒号 %3A
= 等于号 %3D
? 问好 %3F
~ 波浪号 %7E

三:演示:

  • 如果用户名类似:kaygb/kaygb

  • 那么就要修改成:kaygb%2Fkaygb

  • 最终的命令是

curlftps ftp://kaygb%2Fkaygb:kaygbpasswd@127.0.0.1 /www/wwwroot/ftp

四:开放访问权限:

# 如果你和我一样,采用了类似可道云或者别的使用www用户的云盘程序,如果采用上述命令的话就会出现www用户无法访问的情况,那么我们就需要更改一下命令来设置访问权限
# 允许root用户之外的用户访问
curlftpfs -o rw,allow_other ftp://kaygb%2Fkaygb:kaygbpasswd@127.0.0.1 /www/wwwroot/ftp

五:命令解读:

# rw:给读写的权限
# allow_other:允许root用户之外的用户访问(www)

# 指定www用户访问
# 获取www的uid和gid
>>> cat /etc/passwd | grep 你的用户名

# 例如
>>> cat /etc/passwd | grep www
>>> www:x:1000:1000::/home/www:/bin/bash
# 1000和1000既为uid和gid的值

六:挂载

curlftpfs -o rw,allow_other,uid=1000,gid=1000 ftp://kaygb%2Fkaygb:kaygbpasswd@127.0.0.1 /www/wwwroot/ftp
# uid和gid需要换成自己的www的uid和gid

七:取消挂载

有三种方法,推荐方法2

  • 方法1:ps -ef|grep ftp,然后使用kill来停掉挂载进程

  • 方法2:fusermount -u/www/wwwroot/ftp

  • 方法3:umount /www/wwwroot/ftp