将远程 ftp 目录主机本地挂载到 Linux 文件系统中
您是否经常访问 ftp 站点来进行一些简单的更改或共享一些您希望从任何地方都可以访问的文档?
您可以使用 CurlFtpFS Linux 实用程序更轻松地访问 ftp 资源。这个奇妙的实用程序允许您将 ftp 站点安装到 Linux 文件系统中的任何目录。
在本指南中,我们将介绍 CurlFtpFS 在主要 Linux 发行版上的安装,然后介绍配置它的分步说明。
在本教程中您将学习:
如何在主要 Linux 发行版上安装 CurlFtpFS
如何使用CurlFtpFS挂载远程FTP目录
如何使用
/etc/fstab
自动挂载 FTP 目录
Linux上使用CurlFtpFS挂载远程FTP目录
安装 CurlFtpFS
在继续执行以下步骤之前,您需要在系统上安装 CurlFtpFS 软件。通过执行下面相应的命令,可以使用系统的包管理器轻松安装它。
要在 Ubuntu、Debian 和 Linux Mint 上安装 CurlFtpFS:
$ sudo apt install curlftpfs
要在 CentOS、Fedora、AlmaLinux 和 Red Hat 上安装 CurlFtpFS:
$ sudo dnf install curlftpfs
要在 Arch Linux 和 Manjaro 上安装 CurlFtpFS:
$ sudo pacman -S curlftpfs
挂载ftp目录
安装 CurlFtpFS 后,创建一个要挂载远程 FTP 服务器的目录。
# mkdir /mnt/my_ftp
接下来,使用curftpfs 通过以下命令语法挂载远程 ftp 站点。
# curlftpfs ftp-user:ftp-pass@my-ftp-location.local /mnt/my_ftp/
当然,请将
ftp-user
替换为您的用户名,将ftp-pass
替换为您的密码,将ftp-location
替换为远程服务器的 IP 地址,或者主机名。在大多数 Linux 系统上,您可以使用curlftpfs 作为 root 挂载 ftp,这仅允许 root 用户访问 ftp 挂载。不允许其他用户,因为默认情况下只有挂载的用户才能访问挂载目录。当以非 root 用户身份安装 ftp 时,您可能会收到以下错误消息:
fuse: failed to open /dev/fuse: Permission denied
您可以使用curlfpfs的选项
allow_other
允许其他用户访问ftp挂载目录,而不是更改/dev/fuse
的权限。该命令将类似于以下命令:# curlftpfs -o allow_other ftp-user:ftp-pass@my-ftp-location.local /mnt/my_ftp/
警告
FTP 使用未加密的密码,因此任何人都可以毫不费力地拦截您的密码。因此,如果您没有安装某些本地 LAN ftp 服务器,请将 curftpfs 与 SSL 证书结合使用。
使用 /etc/fstab 通过curftpfs 挂载 ftp
由于我们不想在
/etc/fstab
文件中放入任何密码,因此我们首先使用此命令创建一个包含 ftp 用户名和密码的/root/.netrc
文件格式:machine my-ftp-location.local login ftp-user password ftp-pass
接下来,将该文件的权限更改为600:
# chmod 600 /root/.netrc
检查非 root 用户的 uid 和 gid。该用户将有权访问 ftp 挂载目录:
$ id
在下一步中,将以下行添加到您的
/etc/fstab
文件中(更改 ftp 用户的凭据):curlftpfs#my-ftp-location.local /mnt/my_ftp fuse allow_other,uid=1000,gid=1000,umask=0022 0 0
现在使用以下命令挂载远程 FTP 目录:
$ mount -a
结束语
在本指南中,我们了解了如何通过 CurlFtpFS 实用程序在 Linux 上挂载远程 FTP 目录。这使得访问 FTP 服务器更加方便,因为无需每次都使用 FTP 客户端或进行身份验证。由于 CurlFtpFS,安装是无缝的,我们可以访问 FTP 目录,就像它是我们物理计算机的一部分一样。