为什么我的 curlftpfs 是只写的?

为什么我的 curlftpfs 是只写的?

我已经安装了 FTP 备份解决方案/opt/backup,它似乎是只写的(即使以 root 身份,如图所示)。

# touch foo
# ls -l
-rw-r--r-- 1 root root 0 Feb 19 16:00 foo
# cat foo
cat: foo: Permission denied
# rm foo
# ls
#

挂载点如下所示:

drwxr-xr-x  1 root fuse 1.0K Jan  1  1970 /opt/backup

Fstab 行是:

curlftpfs#user:[email protected] /opt/backup     fuse    allow_other,uid=0,gid=116,noatime       0 0

GID116fuse群组。

PS:这不是 FTP 服务器的问题,因为它在午夜指挥官中运行良好。

这里出了什么问题?


编辑2013-02-19:
尝试调试 curlftpfs(使用-f -d标志)时给出以下输出cat

unique: 19, opcode: OPEN (14), nodeid: 3, insize: 48, pid: 30167
open flags: 0x8000 /foo
ftpfs: operation ftpfs_open failed because Permission denied
   unique: 19, error: -13 (Permission denied), outsize: 16

再次,使用诸如午夜指挥官之类的客户端程序,不会发生这样的问题。


编辑 2013-06-25
我现在已经改用 CIFS,运行正常。
但这显然不是一个解决方案。

答案1

只是为了解决这个问题:正如之前有人提到的那样,问题曾是与 ipv6 相关,要修复它只需在参数中添加“ipv4”即可禁用 ipv6:

# cat /etc/fstab

curlftpfs#SERVER /mnt/ftp-backup fuse disable_eprt,noauto,nodev,noexec,ipv4
curlftpfs#SERVER /mnt/ftp-backup fuse.curlftpfs disable_eprt,noauto,nodev,noexec,ipv4

答案2

您使用的是 IPv6 吗?我刚刚遇到了同样的问题,不幸的是,这与我通过 IPv6 连接到 FTP 服务器有关。

使用 安装后-u ipv4,一切都正常。tcpdump建议cURL远程 FTP 服务器无法通过 v6 正确启动被动 FTP 连接。

答案3

这仅仅是 UID 映射问题吗?如果您开放目录的权限以便任何人都可以写入它,这是否解决了问题?如果是这样,我猜想 root 被映射到远程系统作为 nobody。

相关内容