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

以下皆以CentOS7下进行操作

安装curlftps

1
2
yum -y install epel-release
yum -y install curlftpfs

挂载

1
2
3
curlftps ftp://用户名:密码@ftp服务器地址 /挂载的文件夹
//例如
curlftps ftp://kaygb:[email protected] /www/wwwroot/ftp

编码转换

如果ftp包含特殊字符的话,需要进行ASCII编码转换

ASCII符号 中文名 编码之后的值
空格 空格 %20
感叹号 %21
& and %26
@ at %40
/ 斜杠 %2F
: 冒号 %3A
= 等于号 %3D
? 问好 %3F
~ 波浪号 %7E
演示

如果用户名类似:kaygb/kaygb

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

最终的命令是

1
curlftps ftp://kaygb%2Fkaygb:[email protected] /www/wwwroot/ftp

开放访问权限

如果你和我一样,采用了类似可道云或者别的使用www用户的云盘程序,如果采用上述命令的话就会出现www用户无法访问的情况,那么我们就需要更改一下命令来设置访问权限

允许root用户之外的用户访问
1
curlftpfs -o rw,allow_other ftp://kaygb%2Fkaygb:[email protected] /www/wwwroot/ftp

命令解读:

  • rw:给读写的权限

  • allow_other:允许root用户之外的用户访问(www)

指定www用户访问

获取www的uid和gid

1
2
3
4
5
cat /etc/passwd | grep 你的用户名
// 例如
cat /etc/passwd | grep www
www:x:1000:1000::/home/www:/bin/bash
// 1000和1000既为uid和gid的值

挂载

1
curlftpfs -o rw,allow_other,uid=1000,gid=1000 ftp://kaygb%2Fkaygb:[email protected] /www/wwwroot/ftp

uid和gid需要换成自己的www的uid和gid

取消挂载

有三种方法,推荐方法2

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

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

方法3:umount /www/wwwroot/ftp

评论