curlftps是什么?在linux下它可以将ftp挂载为本地文件夹。
以下皆以CentOS7下进行操作
安装curlftps
yum -y install epel-release yum -y install curlftpfs
挂载
curlftps ftp://用户名:密码@ftp服务器地址 /挂载的文件夹 //例如 curlftps ftp://name:passwd@127.0.0.1 /data/ftp
编码转换
如果ftp包含特殊字符的话,需要进行ASCII编码转换
ASCII符号 | 中文名 | 编码之后的值 |
空格 | 空格 | 20% |
! | 感叹号 | 21% |
& | and | 26% |
@ | at | 40% |
/ | 斜杠 | %2F |
: | 冒号 | %3A |
= | 等于号 | %3D |
? | 问好 | %3F |
~ | 波浪号 | %7E |
演示
如果用户名类似:shnne/shnne
那么就要修改成:shnne%2Fshnne
最终的命令是
curlftps ftp://shnne%2Fshnne:shnnepasswd@127.0.0.1 /data/ftp
开放访问权限
如果采用了类似可道云或者别的使用www用户的云盘程序,如果采用上述命令的话就会出现www用户无法访问的情况,那需要更改一下命令来设置访问权限
允许root用户之外的用户访问
curlftpfs -o rw,allow_other ftp://shnne%2Fshnne:shnnepasswd@127.0.0.1 /data/ftp 命令解读: rw:给读写的权限 allow_other:允许root用户之外的用户访问(www)
指定www用户访问
获取www的uid和gid
[root@test ~]# id www uid=1000(www) gid=1000(www) groups=1000(www)
挂载
curlftpfs -o rw,allow_other,uid=1000,gid=1000 ftp://shnne%2Fshnne:shnnepasswd@127.0.0.1 /data/ftp uid和gid需要换成自己的www的uid和gid
取消挂载
有三种方法,推荐方法2 方法1:ps -ef|grep ftp,然后使用kill来停掉挂载进程 方法2:fusermount -u /data/ftp 方法3:umount /data/ftp