我已经安装了 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
GID116
是fuse
群组。
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。