cifs:无法 cd 进入目录

cifs:无法 cd 进入目录

由于某种原因,我无法 cd 进入我有权访问的特定远程目录,它失败并显示:

$ cd Data\ Services/
-bash: cd: Data Services/: Invalid argument

这就是我安装它的方式:

$ sudo mount -t cifs //big.acme.corp/network/ ~/z -o username=myuser,domain=mydomain,uid=$(id -u),gid=$(id -g),vers=1.0
Password for myuser@//big.acme.corp/network/:  *********

我可以从我的 Windows 8 笔记本电脑上正常访问它(相同的用户名/密码)。

以供参考:

$ ls -ald "Data Services"
drwx--x--x 2 myuser myuser 0 Dec 13 09:21 Data Services

至少在我看来,这个快捷方式被视为一个目录:

$ find Data\ Services -type d
Data Services
find: ‘Data Services’: Invalid argument

因此我不能用它做太多事情:

$ cat Data\ Services
cat: Data Services: Invalid argument

甚至

$ hexdump Data\ Services
hexdump: Data Services: Invalid argument
hexdump: all input file arguments failed

如下所示,我再次尝试使用noperm

$ sudo mount -t cifs //big.acme.corp/network/ ~/z -o username=myuser,domain=mydomain,uid=$(id -u),gid=$(id -g),noperm

这给了我:

$ mount
...
//big.acme.corp/network/ on /home/myuser/z type cifs (rw,relatime,vers=1.0,cache=strict,username=big.acme.corp,domain=mydomain,uid=1002,forceuid,gid=1003,forcegid,addr=10.1.2.3,file_mode=0755,dir_mode=0755,nounix,mapposix,noperm,rsize=61440,wsize=65536,echo_interval=60,actimeo=1)

这并没有改变任何事情:

$ strings Data\ Services
strings: Data Services: Invalid argument

答案1

实际的根本问题是在DFS.我的 CIFS 版本太旧。更新到新系统并没有解决所有问题,但我最终偶然发现:

这给了我一个更详细的错误日志,我发现:

[...]
[  687.037593] fs/cifs/dns_resolve.c: dns_resolve_server_name_to_ip: unable to resolve: MYSERV13
[  687.037606] fs/cifs/cifs_dfs_ref.c: cifs_compose_mount_options: Failed to resolve server part of //MYSERV13/network to IP: -2
[...]

更新我resolve.conf的:

search acme.corp

到:

search acme.corp mydoma01.acme.corp

我终于可以mount -t cifs在没有'nodfs'选项的情况下打电话了。这些症状不再是错误,而只是提供信息:

$ cd Data Services
CIFS VFS: BAD_NETWORK_NAME: \\MYSERV13\network
[...]

Data Services我终于可以毫无问题地访问内容了。

综上所述:

  1. 需要一些最新的 cifs-utils 软件包,
  2. 不使用nodfs选项
  3. 确保您的resolv.conf定义正确

完整线程位于:

nodfs参考:

答案2

挂载共享时尝试选项 iocharset=utf8 和 vers=1.0:

mount -t cifs -o iocharset=utf8,vers=1.0 //server/share /path/to/mount

这为我解决了这个问题。

相关内容