Linux:无法覆盖 Samba 存储上的文件

Linux:无法覆盖 Samba 存储上的文件

我正在使用 CentOS 5.5 smbclient 3.0.33-3.28-el5(repo 中的最新版本),我无法覆盖 Samba 存储中的文件。

我不是托管共享的 Windows 服务器的管理员,因此我无法在服务器端执行任何操作。但我对服务器有写入权限。我知道服务器运行的是 Windows XP 或 Server 2003;但我不知道是哪个。
我可以删除该文件,然后复制新版本,但我无法覆盖它。

使用该cp命令我会收到此错误:

[jonescb@localhost ~]$ cp foo.txt /mnt/si_storage/foo.txt
cp: cannot create regular file `/mnt/si_storage/foo.txt': No such file or directory`

如果我使用 vim 在服务器上编辑文件,我可以保存一次,但如果我再次保存,我会得到以下信息:
"/mnt/si_storage/foo.txt" E212: Can't open file for writing

这是我的 samba 服务器的 /etc/fstab 条目:
//192.168.1.2/SI_STORAGE /mnt/si_storage cifs username=myuser,password=mypass 0 0

编辑:我可以在我的 XP 机器上顺利覆盖文件。只有 CentOS 机器有问题。

答案1

通过在挂载选项中添加 nodfs 解决了这个问题。我在这里找到了它http://www.zeitoun.net/articles/dsn323-samba-dfs-bug/start

据说 nodfs 是在 linux 2.6.28 中添加的,但看起来 Red Hat 将其移植到了他们的 2.6.18 内核中。

相关内容