माउंट CIFS ऑटोफोंस के साथ साझा करता है


12

मेरे पास आरएचईएल 5.5 चलाने वाली एक प्रणाली है, और मैं एक सर्वर का उपयोग करके विंडोज शेयर को माउंट करने की कोशिश कर रहा हूं autofs। (नेटवर्क स्टार्टअप पर तैयार नहीं होने के कारण, मैं उपयोग नहीं करना चाहता fstab।) मैं शेयरों को मैन्युअल रूप से माउंट करने में सक्षम हूं, लेकिन autofsअभी उन्हें माउंट नहीं कर रहा हूं।

यहां वे फाइलें हैं जिनके साथ मैं काम कर रहा हूं:

/etc/auto.masterमेरे अंत में , मेरे पास है:

## Mount this test share:
/test    /etc/auto.test    --timeout=60

में /etc/auto.test, मेरे पास है:

test    -fstype=cifs,username=testuser,domain=domain.com,password=password ://server/test

मैं फिर autofsसेवा को पुनः आरंभ करता हूं ।

हालांकि, यह काम नहीं करता है। ls-निर्देशिका निर्देशिका कोई परिणाम नहीं देता है। मैंने वेब पर इन सभी गाइडों का पालन किया है, और मैं या तो उन्हें नहीं समझता, या वे।

धन्यवाद


क्या आपको लॉग में कुछ भी मिल रहा है?
c1tadel1

लॉग कहां हैं? मैंने /var/log/messagesकोई फायदा नहीं उठाने की कोशिश की है, और न ही कोई syslog फ़ाइल है।
फेंटो

आप सही जगह देख रहे हैं। डिबग संदेशों को थोड़ा बढ़ाने और dmesg को आज़माने के लिए "इको 1> / proc / fs / cifs / cifsFYI" आज़माएं।
c1tadel1

मेरे पास /proc/fs/cifs/निर्देशिका नहीं है , इसलिए मैं कमांड नहीं चला सकता। मैं mkdir cifsजड़ के रूप में भी नहीं कर सकता । सेवा चल रही है, लेकिन मैं गंभीरता से नहीं जानता कि यह सिर्फ काम क्यों नहीं कर रहा है। मुझे आरएच समर्थन से संपर्क करना पड़ सकता है।
फैंटो

खरीद स्थान को भूल जाओ। क्या आपके पास भी मॉड्यूल स्थापित है? इसे चलाओ। ls -al / lib / मॉड्यूल / uname -r/ कर्नेल / fs / cifs जिसे आपको cifs.ko देखना चाहिए
c1tadel1

जवाबों:


9

एक /etc/auto.smb पहले से ही होना चाहिए, उसका उपयोग करें, और निम्नलिखित पंक्ति को /etc/auto.sb में जोड़ें:

/cifs   /etc/auto.smb --timeout=60

अब सभी सीआईएफ के शेयर / सीआईएफ के तहत दिखाई देंगे:

ls /cifs/<server>

उपलब्ध सभी शेयरों को दिखाएगा। आप विशिष्ट मोड के साथ माउंट करने के लिए /etc/auto.smb में कुछ विकल्प रखना चाहते हैं। मेरे पास एक auto.smb है जो मुझे वहां कहीं मिला और इसे ठीक करने के लिए संशोधित किया गया:

#!/bin/bash
# $Id: auto.smb,v 1.3 2005/04/05 13:02:09 raven Exp $
# This file must be executable to work! chmod 755!

key="$1"
credfile="/etc/auto.smb.$key"

opts="-fstype=cifs,file_mode=0644,dir_mode=0755,uid=eng,gid=eng"
smbclientopts=""

for P in /bin /sbin /usr/bin /usr/sbin
do
    if [ -x $P/smbclient ]
    then
        SMBCLIENT=$P/smbclient
        break
    fi
done

[ -x $SMBCLIENT ] || exit 1

if [ -e "$credfile" ]
then
    opts=$opts",credentials=$credfile"
    smbclientopts="-A "$credfile
else
    smbclientopts="-N"
fi

$SMBCLIENT $smbclientopts -gNL $key 2>/dev/null| awk -v key="$key" -v opts="$opts" -F'|' -- '
    BEGIN   { ORS=""; first=1 }
    /Disk/  {
              if (first)
                  print opts; first=0
              dir = $2
              loc = $2
              # Enclose mount dir and location in quotes
              # Double quote "$" in location as it is special
              gsub(/\$$/, "\\$", loc);
              print " \\\n\t \"/" dir "\"", "\"://" key "/" loc "\""
            }
    END     { if (!first) print "\n"; else exit 1 }
'

यह वही करेगा जो आप चाहते हैं। मैंने खुद इसका इस्तेमाल किया है।


धन्यवाद। मैं इस मुद्दे पर पूरी तरह से भूल गया हूं। मैंने वास्तव में Red Hat समर्थन से संपर्क किया था, और आपके द्वारा उल्लेख किए गए ऑप्स में आपके द्वारा काम करने के विकल्प का उल्लेख है। कुंजी auto.miscजो भी कारण के लिए जानकारी जगह थी । यह हास्यास्पद है, क्योंकि हमें अब ऐसा करने की आवश्यकता नहीं है।
फैंटो

यह उपयोगी है, लेकिन दुर्भाग्य से मुझे माउंट पॉइंट्स को कस्टमाइज़ करने के लिए नहीं मिलता है, जो कि प्रश्न का मूल लक्ष्य था (और मुझे यह पता लगाने के लिए यहां क्या आया)
कार्लोस रेंडन

एक दिलचस्प विकास के रूप में, ईएमसी डिवाइस (निश्चित रूप से मॉड्यूल नहीं) के साथ इसका उपयोग करने से मुझे smbclient लाइन से -N को हटाने की आवश्यकता हुई। आज इस समस्या का सामना किया।
lsd

साथ ही, क्रेडेंशियल्स फ़ाइल में बराबर संकेतों के बीच रिक्त स्थान नहीं होना चाहिए। जब तक मुझे पता नहीं चला कि त्रुटियों का एक गुच्छा है। प्रलेखन के दो अलग-अलग टुकड़ों ने अलग-अलग बातें कही।
lsd

8

चूंकि मैंने अपनी पूरी सुबह इसी मुद्दे पर डिबगिंग में बिताई थी। ऊपर क्या हुआ मुझे समझाने दीजिए।

/etc/auto.master

## Mount this test share:
/test    /etc/auto.test    --timeout=60

इसका मतलब है कि मैं /testपढ़ी गई जानकारी के लिए और कुछ पर माउंट करना चाहता हूं/etc/auto.test

/etc/auto.test

test    -fstype=cifs,username=testuser,domain=domain.com,password=password ://server/test

इसका मतलब यह है कि ऑटो.मास्टर में निर्दिष्ट उप-फ़ोल्डर के रूप में निम्नलिखित जानकारी के साथ परीक्षण माउंट करें। (यानी माउंट/test/test सही ढंग से इंगित किया गया slm के रूप में होगा )।

इसका मतलब है कि ls /test/testसामग्री प्रदर्शित करेगा//server/test

/ परीक्षण -> // सर्वर / परीक्षण के मूल लक्ष्य को पूरा करने के लिए आप निम्नलिखित चाहेंगे:

/etc/auto.master

## Mount this test share:
/    /etc/auto.test    --timeout=60

एक जोड़ी अन्य नोट। मुझे निम्नलिखित माउंट विकल्प उपयोगी लगे।

rw - इसे पढ़ें / लिखें माउंट करें

noserverino - इनकोड संख्या समर्थन के बारे में त्रुटि संदेश निकालता है

credentials=[credential file]- यह आपको उनमें क्रेडेंशियल्स के साथ एक अलग फाइल बनाने की अनुमति देता है। इसका निम्न प्रारूप है:

username=[windows username, domain can be included as well]
password=[windows password]

EDIT - 2013-06-17 13:28 PM GMT-8

टिप्पणियों में झुग्गी ने बताया है कि फ़ाइल सिस्टम की जड़ तक बढ़ना खतरनाक हो सकता है। टिप्पणियों में lsd एक वर्कअराउंड का सुझाव देता है, जो कि फाइलसिस्टम के रूट से एक अलग स्थान पर एक सिम्लिंक बनाने के लिए है, जहां आप माउंट करेंगे जो कि कुछ सामान्य के साथ ओवरलैप नहीं होगा। उदाहरण के लिए, यदि आप एक माउंट होना / परीक्षण करना चाहते हैं, तो आप वास्तव में / net / the_test_mount पर सामान माउंट करेंगे और फिर एक सिमलिंक / टेस्ट बनाएंगे जो / net / the_test_mount को इंगित करता है


3
यह इस अर्थ में खतरनाक है कि अगर किसी को uset या etc को /etc/auto.test में जोड़ना है, तो ये mounts प्रभावी रूप से सिस्टम पर उन निर्देशिकाओं को ओवरराइड करेंगे। ऐसा लगता है कि अत्यधिक संभावना नहीं है, लेकिन सामान्य आरोह में मूल स्तर पर नहीं किया जाता है।
SLM

क्या ऑटोफिक्स का उपयोग करके रूट माउंट प्रदान करने का एक बेहतर तरीका है? यदि ऐसा है तो कृपया अपने उत्तर को अपडेट करें या एक टिप्पणी छोड़ दें और मैं अपना अपडेट कर सकता हूं।
कार्लोस रेंडन

1
Mounts / net पर जाएं, कहें, और प्रतीकात्मक लिंक / परीक्षण / से / net / सर्वर / परीक्षण (या जो भी हो) करें। अब जब भी आप सीडी / नेट और एलएस या जो भी करेंगे, वह माउंट हो जाएगा।
lsd

4

मैंने अभी एक CentOS 5.6 बॉक्स पर यह किया है और मुझे लगता है कि आपकी समस्या का एक हिस्सा आपकी auto.test फ़ाइल के साथ हो सकता है। यह वर्तमान रूप में आप एक / परीक्षण माउंट बिंदु और फिर इसके तहत परीक्षण का एक एकल moung, यानी / परीक्षण / परीक्षण बना रहे होंगे। इसके अलावा, आप अपने ऑटो.मास्टर लाइन में --ghost स्विच को इस तरह जोड़ना चाहते हैं:

/test    /etc/auto.test    --timeout=60 --ghost

--Ghost स्विच माउंट पॉइंट्स के स्टब्स तब भी बनाता है जब किसी दिए गए शेयर को सक्रिय रूप से माउंट नहीं किया जा रहा हो।

SMB / CIFS शेयरों को माउंट करने के तरीकों पर इस CentOS wiki Tips और ट्रिक्स पेज पर एक नज़र डालें ।

बढ़ते सुझाव

  • विंडोज शेयर = \ mysmb \ share1
  • यूनिक्स डिर। = / परीक्षण / dir1

विचार # 1

 # /etc/auto.master
/test                 /etc/auto.test --timeout=600 --ghost

# /etc/auto.test
dir1         -fstype=cifs,rw,noperm,netbiosname=${HOST},credentials=/etc/creds.txt ://mysmb/test/dir1
dir2         -fstype=cifs,rw,noperm,netbiosname=${HOST},credentials=/etc/creds.txt ://mysmb/test/dir2

विचार # 2

 # /etc/auto.master
/test                 /etc/auto.test --timeout=600 --ghost

# /etc/auto.test
*            -fstype=cifs,rw,noperm,netbiosname=${HOST},credentials=/etc/creds.txt ://mysmb/test/&

आपके जवाब के लिए धन्यवाद। कृपया lsd के लिए मेरी टिप्पणी देखें।
फैंटो

1
माई गॉड ... -घोस्त डिफ़ॉल्ट होना चाहिए। मैं फेडोरा / rhel / centos पर हूं, यह मैप को पढ़ता है, लेकिन जब मैं फ़ोल्डर के अंदर जाता हूं, तो कुछ भी नहीं होता है ... मेरे पास करने का पागल विचार था cd "sharename"और यह जादुई रूप से उस फ़ोल्डर में प्रवेश lsकरता है जो कहता है कि मौजूद नहीं है ... arrgh
रे फॉस

-1

यदि आप cif का उपयोग कर रहे हैं, तो यह _netdevपैरामीटर का उपयोग करने के लिए भी अनुशंसित है ।

_netdev ऐसा इसलिए है क्योंकि फाइल सिस्टम एक ऐसे डिवाइस पर रहता है, जिसे नेटवर्क एक्सेस की आवश्यकता होती है, इसका उपयोग सिस्टम को होस्ट सिस्टम पर नेटवर्क सक्षम होने तक इन फाइल सिस्टम को माउंट करने के प्रयास से रोकने के लिए किया जाता है।


1
कुछ प्रारूप और वर्तनी त्रुटियों को ठीक किया। आपको संभवत: इस बात का उल्लेख करना चाहिए कि कैसे और कहाँ से उस पैरामीटर को प्रश्न के रूप में एक उदाहरण के रूप में उपयोग किया जाए।
सिंह
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.