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
温馨提示: 本文最后更新于2021-08-24,至今已有976天,某些文章具有时效性,若有错误或已失效,请在下方留言
© 版权声明
THE END
喜欢就支持一下吧❀
点赞0投币 分享
评论 抢沙发

    请登录后查看评论内容