मैं कमांड लाइन से SMB शेयर कैसे माउंट कर सकता हूं?


78

मैं कमांड लाइन (टर्मिनल) से एक एसएमबी नेटवर्क शेयर माउंट करना चाहूंगा; मैं उसके बारे में कैसे जाऊंगा?

मैं मैक ओएस एक्स 10.6.4 का उपयोग कर रहा हूं।

जवाबों:


71

आप इसे आसानी से प्राप्त कर सकते हैं mount_smbfs(जो वास्तव में, इसके लिए एक आवरण है mount -t smbfs):

mount_smbfs //user@SERVER/folder ./mntpoint

वैकल्पिक रूप से, कार्यसमूह जोड़ें:

mount_smbfs -W workgroup //user@SERVER/folder ./mntpoint

आप निश्चित रूप से, ./mntpoint(जैसे कुछ के लिए /Volumes/smb) बदल सकते हैं।

ऐसा करने के बाद, बस ./mntpointअपना डेटा ब्राउज़ करने के लिए जाएं ।

निम्न आदेश का उपयोग करते हुए, अनमाउंट करने के लिए:

umount ./mntpoint

2
मुझे मिलता है: `Mount_smbfs: माउंट एरर: पाथ: इनपुट / आउटपुट एरर ', जबकि यह फाइंडर-> सर्वर से कनेक्ट के माध्यम से पता चलता है?
इयान वॉन

यदि मेरे उपयोगकर्ता नाम में @ char है तो मैं इसके बारे में कैसे जा सकता हूं? उदाहरण के लिए जब मैं xyz@microsoft.com जैसे Microsoft खाते का उपयोग कर रहा हूँ? मैंने सिंगल और डबल कोट्स में उपयोगकर्ता नाम देने की कोशिश की, लेकिन काम नहीं किया ..
यशवित

2
मुझे यह त्रुटि मिलती है:mount_smbfs: could not find mount point /Volumes/Share: No such file or directory
Iulian Onofrei

11
से उद्धरण man mountपर OS X Yosemite:Note: You should always use the system mount command and never call mount_smbfs directly.
एसएससी

3
@ यशवित: '@' को '% 40' में
बदलें

69

open(1)कमांड और एक URL का उपयोग करें :

open 'smb://username:password@server/share'

पेशेवरों: /Volumesआप के लिए माउंट बिंदु बनाता है ।

विपक्ष: खोजक को चलाने की आवश्यकता है।


4
मैं अपने स्थानीय नेटवर्क में त्वरित कनेक्शन के लिए इस संस्करण को पसंद करता हूं, वहां सभी उपयोगकर्ताओं को जाना जाता है, इसलिए यह एक सरल कमांड है फिर माउंट_smbfs का उपयोग करते हुए - जहां मुझे वास्तव में गैर-मौजूद पथों से संबंधित समस्याएं थीं - जबकि अगर मुझे कुछ नए सर्वर से कनेक्ट करने की आवश्यकता होगी विशेष फाइलसिस्टम, या मुझे किसी अन्य उपयोगकर्ता की कोशिश करने की आवश्यकता होगी या अलग-अलग माउंट पॉइंट चाहिए - ठीक है - लेकिन यह कितनी बार होता है ... इसलिए मेरा अंगूठा इस सरल समाधान के लिए ऊपर जाता है! बहुत बढ़िया! ठीक है, मैं एक टर्मिनल फ्रीक हूं, जिसमें अभी भी फाइंडर चल रहा है, लेकिन यह 90% हमारे जैसा है, है ना?
हेक्सेरी सॉफ्टवेयर

Finderहमेशा नहीं खोला जाता है, कम से कम एक प्रक्रिया के रूप में?
इयूलियन ओनोफ्रेई

1
@ इयूलियन ओनोफ्रेई: जब तक उपयोगकर्ता अंतःक्रियात्मक रूप से लॉग इन न हो। मुझे नौकरियों mountमें प्रत्यक्ष कमांड का उपयोग करने की आवश्यकता है cronopenकमांड का उपयोग करना , ये असफल हो जाएंगे यदि इंटरएक्टिव सत्र समाप्त हो गया है, उदाहरण के लिए, बिजली की विफलता के बाद।
जॉर्ज

यह भी ध्यान दें कि openहमेशा बाहर निकलता है जैसे कि यह सफल था यदि यह कमांडर को फाइंडर के साथ पारित कर देता है, भले ही कमांड बाद में नेटवर्क ड्राइव से कनेक्ट करने में विफल हो।
जोनाथन व्रेन

23

आपको माउंट की मदद पर एक नज़र रखना चाहिए:

man mount

करीब से निरीक्षण करने पर आप देखेंगे कि फाइलसिस्टम का प्रकार है:

mount -t smbfs //username:password@MACHINENAME/SHARENAME /SomeLocalFolderOfChoice

पासवर्ड (और सैद्धांतिक रूप से उपयोगकर्ता नाम) वैकल्पिक हैं।

उपरोक्त आदेश का परिणाम कोई आउटपुट नहीं होगा (यदि सभी ठीक हो गए), लेकिन ए cd /SomeLocalFolderOfChoice, को दूरस्थ परिणाम उत्पन्न करना चाहिए। कृपया ध्यान दें कि SomeLocalFolderofChoice मौजूद होना चाहिए।

माउंट -t smbfs को बदलने के लिए आप Mount_smbfs का भी उपयोग कर सकते हैं।


5

बूट के दौरान उन्हें माउंट करने के लिए मैंने क्या काम किया:

==> /etc/auto_master <==
#
# Automounter master map
#
+auto_master        # Use directory service
/net            -hosts      -nobrowse,hidefromfinder,nosuid
/home           auto_home   -nobrowse,hidefromfinder
/Network/Servers    -fstab
/-          -static
/-          auto_smb          # add this line <**********

==> /etc/auto_smb <==         # Create this if it doesn't exist <****
/(not Volumes)/Public   -fstype=smbfs,soft smb://(user):(password)@192.168.140.5/data/Public
/(not Volumes)/ WGroleau -fstype=smbfs,soft smb://(user):(password)@192.168.140.5/data/Students/wes_groleau

किसी कारण से, न तो संक्षिप्त नाम और न ही सर्वर के FQDN ने काम किया, इसलिए मैंने आईपी प्राप्त करने के लिए 'पिंग (नाम) का उपयोग किया। दूसरे शब्दों में, DNS नाम को हल कर देगा, लेकिन Mount_smbfs नहीं कर सकता।

और मैं माउंट पॉइंट को / वॉल्यूम में नहीं डाल सकता था, क्योंकि बूट अप इसे हटा देगा।

एक क्वर्की: इसके बाद कुछ दिनों तक ठीक काम किया, दो या तीन दिनों के लिए, लिब्रे ऑफिस, एडोब रीडर और फाइंडर दोनों में से एक शेयर नहीं मिला, लेकिन शेल और टेक्स्टएडिट को कोई समस्या नहीं थी। दो या तीन दिनों के बाद, यह रहस्यमय तरीके से फिर से काम करना शुरू कर दिया।

यदि आप ये संपादन करते हैं और रिबूट नहीं करना चाहते हैं, तो आप उन्हें 'ऑटो माउंट-पीवीसी' के साथ माउंट कर सकते हैं

अद्यतन: अधिक quirks। (1) यहां दो वाईफाई सिस्टम हैं, और उनमें से एक में विंडोज सर्वर की कोई पहुंच नहीं है। सप्ताह में एक-दो बार, एक या दोनों राउटर नीचे जाते हैं। यदि "अच्छा वाला" नीचे चला जाता है और मैकबुक स्वचालित रूप से दूसरे से जुड़ जाता है, तो मुझे यह बताने के बजाय कि ड्राइव ऑफ लाइन है, एसएमबी ड्राइवर कहते हैं "बहुत अधिक उपयोगकर्ता।" (2) सप्ताह में दो बार, मुझे अपनी विंडोज फ़ाइलों को एक्सेस करने की कोशिश करने पर "अनुमति अस्वीकृत" मिलती है। यह आम तौर पर लगभग आधे घंटे तक चलता है, जिसके दौरान मैं एक विंडोज़ बार में जा सकता हूं और लॉग इन कर सकता हूं और उसी आईडी और पासवर्ड के साथ फाइलें देख सकता हूं।


चूंकि इस सप्ताह में दो बार उत्थान किया गया है, इसलिए मुझे यह इंगित करना चाहिए कि यह मैकओएस के कई संस्करण पहले लिखा गया था।
WGroleau

4

AppleScript का उपयोग करना सुविधाजनक है क्योंकि यह आपके पासवर्ड को किचेन में संग्रहीत करता है। बैश समारोह:

function mymount
{
    osascript <<EOF
mount volume "smb://user@fqdn1/volume1"
mount volume "smb://user@fqdn2/volume2"
EOF
}

बैश से 'mymount' को आमंत्रित करें, मानक किचेन पॉपअप के माध्यम से पासवर्ड दर्ज करें, और यदि सभी अच्छी तरह से चला जाए तो अनुरोधित वॉल्यूम / वॉल्यूम में माउंट किए जाएंगे।


यही सही दृष्टिकोण भी है। मुझे स्वीकृत उत्तर पसंद नहीं है क्योंकि यह रूट उपयोगकर्ता के रूप में है। : मेरी राय में, इन एक-लाइनर्स सबसे अच्छा विकल्प होना चाहिए /usr/bin/osascript -e 'mount volume "smb://username:password@server/share"'याopen /Volumes; open 'smb://username:password@server/share'
laimison

3

मुझे लगता है कि यदि आपके पास "वर्कग्रुप \ उपयोगकर्ता नाम" का उपयोगकर्ता नाम है, तो आपको इसे इस तरह माउंट करना चाहिए:

mount -t smbfs "//WORKGROUP;username:password@MACHINENAME/SHARENAME" /SomeLocalFolderOfChoice

स्रोत: यहां से एक उदाहरण को अपनाना


-1

पुरानी पोस्ट लेकिन इस तरह से बढ़ते जाने के बारे में:

smb://no_username:password@MACHINENAME 

टाइम मशीन ड्राइव की तरह?


1
"कमांड लाइन (टर्मिनल) से" ... यह मान्य बैश कमांड नहीं है। मुझे लगता है कि आप खोजक + toK के साथ मतलब सर्वर से कनेक्ट करने के लिए जो ओपी ने पूछा नहीं है।
mattmc3
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.