माउंट का उपयोग नहीं कर सकते हैं ।if: माउंट त्रुटि (2): ऐसी कोई फ़ाइल या निर्देशिका नहीं


17

आदेश माउंटCifs को gentoo सिस्टम में systemd के साथ चलने में सक्षम नहीं पाया जाता है

ae429-1105 etc # mount -t cifs //file.abc.edu.au/user /home/directory/path -o credentials=/etc/user,rw,iocharset=utf8,file_mode=0777,dir_mode=0777
mount error(2): No such file or directory
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

यह पुष्टि की गई है कि माउंटपॉइंट / घर / निर्देशिका / पथ और क्रेडेंशियल फ़ाइल / etc / उपयोगकर्ता की मौजूदगी और पहुंच । इसके अलावा संबंधित मॉड्यूल और सेवाओं को सक्षम किया गया है, अर्थात,

 ae429-1105 etc # lsmod |egrep 'fuse|cifs'
 fuse                   72589  5 
 cifs                  312131  0

तथा

ae429-1105 etc # systemctl -t service -a |grep Samba
nmbd.service                         loaded active   running Samba NetBIOS                     name server
smbd.service                         loaded active   running Samba SMB/CIFS     server
winbindd.service                     loaded inactive dead    Samba Winbind daemon

इस समस्या को कई उपयोगकर्ताओं द्वारा पहचाना गया है, उदाहरण के लिए एक उदाहरणयह भी ध्यान दें कि मेरे उबंटू / डेबियन सिस्टम में निष्पादित एक ही कमांड सफलतापूर्वक माउंट करने में सक्षम है।

समस्याग्रस्त मशीन में अन्य जानकारी:

ae429-1105 etc # mount.cifs --version
mount.cifs version: 6.1

माउंट / कैफों का संस्करण डेबियन / ubuntu में स्थापित 6.0 है


/home/directory/pathGentoo पर्यावरण में मौजूद है? अजीब बात है कि आप इसका उल्लेख नहीं करते हैं क्योंकि यह स्पष्ट पहला सवाल है जो उठता है।
हौके लैगिंग

हां, मैंने माउंट पॉइंट / होम / डायरेक्टरी / पाथ के अस्तित्व और पहुंच की पुष्टि की है ।
चेनिंग झांग

आपको इस जानकारी को प्रश्न में जोड़ना चाहिए ताकि अन्य पाठकों को इसे प्राप्त करने के लिए टिप्पणियों को पढ़ने की आवश्यकता न हो।
हॉके लैगिंग

जवाबों:


8

यदि आप Windows के नए संस्करण से कोई हिस्सा माउंट करने का प्रयास कर रहे हैं, तो आपको संस्करण 3.0 को लागू करने के लिए माउंट कमांड को वर्जन = विकल्प प्रदान करने की आवश्यकता हो सकती है। हमारे एक फाइलरवेर्स को हाल ही में 2012R2 में अपग्रेड किया गया था और तभी मेरे माउंट ने काम करना बंद कर दिया था। इसे वर्स = 3.0 पर सेट करना समस्या को ठीक करता है। अधिकांश सांबा / CIFS त्रुटियों की तरह "ऐसी कोई फ़ाइल या निर्देशिका" संदेश बहुत मदद नहीं करता है।

उदाहरण के तौर पे:

# mount -t cifs //win2012r2/someshare -o cred=/home/foo/.cifs_user, vers=3.0 /mnt/tmp

..जहाँ मेरे पास .cifs_user फ़ाइल में निहित मेरा डोमेन, उपयोगकर्ता नाम और पासवर्ड है।

जाहिर है, smbmount डिफ़ॉल्ट रूप से SMB प्रोटोकॉल के एक नए संस्करण का उपयोग करता है क्योंकि यह बिना किसी विशेष विकल्प के काम करता है।

नीचे सूचना है कि डिफ़ॉल्ट प्रोटोकॉल संस्करण 1.0 है।

Mount.cifs मैन पेज से:

vers=
           SMB protocol version. Allowed values are:

           ·   1.0 - The classic CIFS/SMBv1 protocol. This is the default.

           ·   2.0 - The SMBv2.002 protocol. This was initially introduced in Windows Vista Service Pack 1, and
               Windows Server 2008. Note that the initial release version of Windows Vista spoke a slightly
               different dialect (2.000) that is not supported.

           ·   2.1 - The SMBv2.1 protocol that was introduced in Microsoft Windows 7 and Windows Server 2008R2.

           ·   3.0 - The SMBv3.0 protocol that was introduced in Microsoft Windows 8 and Windows Server 2012.

मुझे "संज्ञा" ध्वज के साथ एक समान समस्या थी जिसे v1.0 में समर्थित नहीं होना चाहिए। V2.0 (मेरे लिए सबसे हाल ही में उपलब्ध) को बदलने से समस्या ठीक हो गई। इसके अलावा फ़ाइल अनुमतियाँ
छंद

2
छंद = विकल्प से संबंधित समाधान के लिए बहुत बहुत धन्यवाद! यह मेरे लिए काम करता है, केवल पीछे की ओर ... 42.3 संस्करण से 15.1 तक ओपनसैप लीप को अपग्रेड करने के बाद, नेटवर्क ड्राइव को माउंट करने के लिए एक fstab प्रविष्टि, जो काम करता है, 15.1 में काम करना बंद कर देता है। मैंने विकल्प वर्जन = 1.0 का उपयोग किया और अनुमान लगाया कि क्या ... संभवतः लीप 15.1 एसएमबी प्रोटोकॉल के एक नए संस्करण का उपयोग करता है जो दूरस्थ निर्देशिका को खोजने में सक्षम नहीं था।
जॉन

उबंटू 19.04 से विंडोज सर्वर 2003 पर होस्ट किए गए शेयर से कनेक्ट करना मेरे लिए तब तक लगातार विफल रहा जब तक कि मैंने अपने विकल्प सूची में वर्जन = 1.0 नहीं जोड़ा। धन्यवाद!
user8675309

यह मेरे लिए काम किया, उदाहरण: मुझे vers=2.0अपने 5-वर्षीय NAS सिस्टम के सांबा शेयरों को माउंट करने के लिए संस्करण TWO को बताना पड़ा ... 3.0 के साथ मुझे ऊपर त्रुटि हुई।
फ्रैंक नॉक

etc/fstabउपयोगकर्ताओं: बस डाल vers=3.0(या 2.0 ...) सही है और अपने अन्य विकल्पों से पहले बेहोश, यानीvers=2.0,guest,uid=1000,iocharset…
फ्रैंक Nocke

5

क्या आप nodfsविकल्प का उपयोग कर सकते हैं ? आपके -oविकल्प इनपुट के लिए नीचे दिए गए इनपुट को पास करें।

-o credentials=/etc/user,rw,iocharset=utf8,file_mode=0777,dir_mode=0777,nodfs

यानी जोड़ा गया ,nodfs

इसने मेरे लिए काम किया।


धन्यवाद! मैंने पहले अन्य सभी सुझावों की कोशिश की, लेकिन मुझे फेडोरा 30 पर इसकी आवश्यकता थी जहां मुझे पहले इसकी आवश्यकता नहीं थी
जेन्स टिम्मरमैन

2

आपको secपैरामीटर बदलने की आवश्यकता हो सकती है : इस सेटिंग ने मेरे सेटअप पर काम किया:

mount.cifs ... -o sec=ntlm

प्रासंगिक अर्क man mount.cifs:

sec=सुरक्षा मोड। अनुमत मान हैं:

  • none - एक अशक्त उपयोगकर्ता के रूप में कनेक्शन का प्रयास (कोई नाम नहीं)
  • krb5 - Kerberos संस्करण 5 प्रमाणीकरण का उपयोग करें
  • krb5i - करबरोस प्रमाणीकरण का उपयोग करें और जबरन पैकेट हस्ताक्षर सक्षम करें
  • ntlm - NTLM पासवर्ड हैशिंग का उपयोग करें
  • ntlmi - NTLM पासवर्ड हैशिंग और बल पैकेट साइनिंग का प्रयोग करें
  • ntlmv2 - NTLMv2 पासवर्ड हैशिंग का उपयोग करें
  • ntlmv2i - NTLMv2 पासवर्ड हैशिंग और बल पैकेट हस्ताक्षर का उपयोग करें
  • ntlmssp - NTLMv2 पासवर्ड हैशिंग का उपयोग रॉ NTLMSSP संदेश में कूटबद्ध करें
  • ntlmsspi - NTLMv2 पासवर्ड हैशिंग का उपयोग रॉ NTLMSSP संदेश में एनकैप्सुलेटेड करें, और पैकेट साइनिंग पर बल दें

    V3.8 से पहले मेनलाइन कर्नेल संस्करणों में डिफ़ॉल्ट था sec=ntlm। V3.8 में, डिफ़ॉल्ट को बदल दिया गया था sec=ntlmssp

    यदि सर्वर को प्रोटोकॉल बातचीत के दौरान हस्ताक्षर करने की आवश्यकता होती है, तो यह स्वचालित रूप से सक्षम हो सकता है। यदि यह सक्षम है तो पैकेट हस्ताक्षर भी स्वचालित रूप से सक्षम हो सकते हैं /proc/fs/cifs/SecurityFlags


1

मैं Ubuntu 18.04 पर इसमें भाग गया। समस्या यह थी कि मुझे केर्बेरोस ऑथेंटिकेशन ( sec=krb5माउंट विकल्प) करने के लिए कीटलिट्स पैकेज की जरूरत थी, जो कि सीआईएस-यूटिल्स ( जो माउंट.cifs प्रदान करता है) के साथ स्थापित नहीं था। मुझे यकीन नहीं है कि पैकेज का नाम जेंटू पर समान है या नहीं। ( समाधान के लिए https://forum.zentyal.org/index.php?topic=18601.0 पर धन्यवाद ।)


1

पैकेज की-किट स्थापित करने का प्रयास करें:

sudo apt-get install keyutils

निश्चित रूप से नहीं कि यह क्यों मदद करता है, शायद किसी और के पास इसका जवाब है। लेकिन कम से कम यह मेरे लिए चाल है: keyutils के साथ cifs माउंट ठीक काम किया।


कृपया इस बारे में कुछ जानकारी जोड़ें कि यह प्रश्न में बताई गई समस्या को कैसे हल करेगा। यह पैकेज क्या करता है, और यह ओपी द्वारा उठाए गए समस्या का कैसे पता लगाता है?
15

अच्छा प्रश्न। मुझे यकीन नहीं है कि पैकेज की कीटेल कैसे मदद करती हैं। कम से कम मेरे मामले में तो यही हुआ। Keyutils की स्थापना के बाद, मेरी cifs माउंट ने ठीक काम किया, जबकि इससे पहले कि मुझे ओपी में जैसे त्रुटि संदेश "माउंट एरर (2): इस तरह की कोई फ़ाइल या निर्देशिका" नहीं मिली।
क्लॉस


1

मैं आज इस समस्या का एक और स्रोत जोड़ना चाहता था। एक बार जब आप एक यूनिक्स उपयोगकर्ता की यूजर आईडी बदल देते हैं, तो smbpasswd के माध्यम से बनाया गया smb उपयोगकर्ता अब उसी त्रुटि के परिणामस्वरूप सांबा शेयर के लिए प्रमाणित नहीं कर सकता है।

इसलिए यदि आपने अपनी यूनिक्स उपयोगकर्ता आईडी बदल दी है usermod -u 1000 my_userतो आप समस्याओं में भाग सकते हैं। मेरे लिए फिक्स smb उपयोगकर्ता को बाद में हटाना और जोड़ना था:

smbpasswd -x my_user
smbpasswd -a my_user

जबकि सच है, यह मूल प्रश्न से कैसे संबंधित है?
राल्फफ्राइडल

जैसा कि मैंने कहा, यदि आप किसी उपयोगकर्ता की यूजर आईडी बदलते हैं, तो मूल प्रश्न की त्रुटि दिखाई देती है। तो अगर किसी ने भी ऐसा ही किया और इस धागे को पा लिया, तो वह मेरे संकेत को उपयोगी समझ सकता है।
रियाद

1

$अंत में इस तरह जोड़ें//winserver/sharename$

mount.cifs -v -o username=myusername,domain=MYCODOMAIN //winserver/sharename$ /mnt/mymountpoint

वाह! किसी भी विचार '$' क्या करता है? इसने मेरे लिए इसे ठीक कर दिया लेकिन मुझे इसका कोई सुराग नहीं मिला
गेब्रियल फेयर

$ साइन विंडोज शेयर संदर्भ में एक प्रशासनिक हिस्सा है, अगर सिस्टम द्वारा सक्रिय किया जाता है, तो प्रशासनिक अधिकारों वाला उपयोगकर्ता सभी पथों तक पहुंच सकता है। उदाहरण \\ MY-SERVER \ c $
Phil795

0

मैं उसी "माउंट एरर (2) में चल रहा था: सेंटोस 7 वीएम पर माउंट.कैफ का उपयोग करके ऐसी कोई फ़ाइल या निर्देशिका" त्रुटि नहीं। मैंने कभी यह निर्धारित नहीं किया कि डिफ़ॉल्ट ntlm सुरक्षा (और वेरिएंट) का उपयोग करते समय त्रुटि क्यों उत्पन्न हो रही थी , लेकिन मुझे पता चला कि कर्बेरॉस प्रमाणीकरण का उपयोग करने से समस्या का समाधान हुआ। तो मेरी अंतिम कार्य कमांड लाइन इस तरह दिखी:

mount.cifs -v -o domain=MYCODOMAIN,sec=krb5 //winserver/sharename /mnt/mymountpoint

जबकि यह कमांड जिसने "ऐसी कोई फ़ाइल या निर्देशिका नहीं" त्रुटि दी थी:

mount.cifs -v -o username=myusername,domain=MYCODOMAIN //winserver/sharename /mnt/mymountpoint

कर्बेरोस का उपयोग करने के लिए, मैंने "krb5-वर्कस्टेशन" पैकेज स्थापित किया और इसे कॉन्फ़िगर किया।


0

एक समाधान मैन्युअल रूप से स्थापित करने के लिए हो सकता है keyutilsक्योंकि यह अब की एक कठिन (कठिन) निर्भरता cifs-utilsनहीं है।

जानकारी क्यों कीयूटिल्ट्स अब स्थापित नहीं हैं, यहां पाया जा सकता है: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=822841

और एक लॉन्चपैड बग रिपोर्ट यहां पाई जा सकती है: https://bugs.launchpad.net/ubuntu/+source/cifs-utils/+bug/1772148


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.