sshfs:无法设置文件时间戳

sshfs:无法设置文件时间戳

在 Ubuntu 上使用 sshfs 和 autofs,我无法在远程文件上设置时间戳:

$ touch /sshfs/server/some/file
touch: setting times of `/sshfs/sshfs/server/some/file': Permission denied

我确实有该文件的写权限。问题出现是因为复制到远程的文件没有获得原始文件的时间戳,而是获得了复制完成的时间。

如果我通过 ssh 连接到服务器,我也可以毫无困难地更改时间戳。只有通过 sshfs 时才会失败。

$ cat /etc/auto.sshfs 

afserver -fstype=fuse,sshfs_debug,rw,nodev,nonempty,noatime,allow_other,max_read=65536   :sshfs\#[email protected]:/

$ stat  /sshfs/server/some/file
...
Access: (0664/-rw-rw-r--)  Uid: ( 1003/ UNKNOWN)   Gid: (  100/   users)

答案1

判断从http://sourceforge.net/mailarchive/message.php?msg_id=26780130(FUSE 邮件列表 - 基本上是 SSHFS 实现的内容),您遇到此问题是因为 /sshfs/server/some/ 中使用的文件系统不处理所使用的属性处理程序。您使用的 SSHFS 实现没有任何解决方案。

编辑
抱歉,我没有看到您设置了“noatime”选项。为什么?删除它。这应该可以解决这里的问题。

相关内容