你好,我使用以下 fstab 条目将 QNAP 安装到我的 ubuntu 机器上的驱动器上
//<ip-address>/Documents/Aly /home/aly/Documents cifs credentials=/root/.credentials,uid=1000,gid=1000,rw,hard,dir_mode=0777,file_mode=0777 0 0
这赋予了以下权限:
drwxrwxrwx 1 aly aly 0 2011-12-03 12:18 .
drwxr-xr-x 13 aly aly 4096 2011-12-03 12:14 ..
-rwxrwxrwx 1 aly aly 5 2011-12-03 11:55 test.tst
drwxrwxrwx 1 aly aly 0 2011-11-26 17:54 VirtualBox VMs
我有删除文件和添加文件的权限,但是当尝试写入文件(即 test.tst)时,我在 vi 中收到以下错误:
"test.tst" E212: Can't open file for writing
有人以前见过这种情况吗,如果我通过 nfs 安装驱动器,这不是问题,但是 nfs 缺乏我想要的安全性。
编辑
我想到的解决方案是:
<ip-address>:Documents/Aly/ /home/aly/Documents cifs hard,noperm,nouid,credentials=/root/.credentials,iocharset=utf8,file_mode=0777,dir_mode=0777,nodfs 0 0
答案1
您可以尝试nodfs
文章中解释的参数(如果支持)
如何解决 DNS323 NAS 上的 DFS Samba 错误?:
首先,这里有一个简短的错误描述:无法修改任何现有文件。尝试修改文件时会出现“不是目录”或“没有这样的文件或目录”或“touch:设置时间...”错误。
如果您的 Linux cifs 或 smbfs 客户端支持 nodfs 标志(集成在内核 > 2.6.27 中)。您只需将此选项添加到 mount 命令。示例:
mount -t cifs -o credentials=/home/kerphi/.smb-zekra-credentials,iocharset=utf8,file_mode=0777,dir_mode=0777,nodfs //zekra/Volume_1 /home/kerphi/zekra
如果你无法升级你的内核(像我一样,因为我关注的是 Debian 版本),那么你必须遵循这个解决方法:
- 使用 Web GUI 连接到 DNS323 并转到工具→系统。
- 将配置保存到您的工作站(在“配置设置”部分)。
- 保存后,编辑文件并在此行下方:
;[ global ]
添加以下行:
msdfs root = no
然后通过 Web 界面上传此文件,您的 NAS 将重新启动,您将能够再次修改现有文件!
如果使用 DFS 路径,较旧的 samba 服务器(例如 Debian etch 的 3.0.24)无法正常工作。此类服务器声称它们支持 DFS,但无法处理某些带有 DFS 路径的请求。从 Linux 2.6.26 开始,cifs 客户端开始在这种情况下发送 DFS 路径,导致其无法与较旧的 samba 服务器一起使用。
nodfs 挂载选项强制使用非 DFS 路径共享,即使服务器声称支持它。
答案2
尝试写入文件时
使用 root 权限写入,那么它很可能会起作用(rw
给出选项)