curlftps是什么?在linux下它可以将ftp挂载为本地文件夹,这样的话操作或者管理文件起来会比较方便。
以下皆以CentOS7下进行操作
安装curlftps
1 | yum -y install epel-release |
挂载
1 | curlftps ftp://用户名:密码@ftp服务器地址 /挂载的文件夹 |
编码转换
如果ftp包含特殊字符的话,需要进行ASCII编码转换
ASCII符号 | 中文名 | 编码之后的值 |
---|---|---|
空格 | 空格 | %20 |
! | 感叹号 | %21 |
& | and | %26 |
@ | at | %40 |
/ | 斜杠 | %2F |
: | 冒号 | %3A |
= | 等于号 | %3D |
? | 问好 | %3F |
~ | 波浪号 | %7E |
演示
如果用户名类似:kaygb/kaygb
那么就要修改成:kaygb%2Fkaygb
最终的命令是
1 | curlftps ftp://kaygb%2Fkaygb:kaygbpasswd@127.0.0.1 /www/wwwroot/ftp |
开放访问权限
如果你和我一样,采用了类似可道云或者别的使用www用户的云盘程序,如果采用上述命令的话就会出现www用户无法访问的情况,那么我们就需要更改一下命令来设置访问权限
允许root用户之外的用户访问
1 | 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
1 | cat /etc/passwd | grep 你的用户名 |
挂载
1 | 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 | 方法1:ps -ef|grep ftp,然后使用kill来停掉挂载进程 |