Fedora
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
實際的根本問題是在
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
毫無問題地訪問內容了。綜上所述:
- 需要一些最新的 cifs-utils 包,
- 不要使用
nodfs
選項- 確保您
resolv.conf
的定義正確完整的執行緒在:
nodfs參考: