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

これは私のために問題を解決しました。

関連情報