我正在使用 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 内核中。