UNC पथ के भीतर UNC उपयोगकर्ता नाम और पासवर्ड पास करना


23

क्या UNC पथ के भीतर UNC उपयोगकर्ता नाम और पासवर्ड पारित करना संभव है?

एफ़टीपी और एसएमबी इसका समर्थन कैसे करते हैं:

smb://user:pass@destination.com/share
ftp://user:pass@destination.com/share

मैं डीएफएस पथ के लिए (गैर डोमेन पीसी) सेवा का उपयोग करने की कोशिश कर रहा हूं।

क्या इसके आसपास कोई और तरीका है? मैं डोमेन के लिए पीसी को बाइंड कर सकता हूं और डोमेन यूजर के रूप में सेवा चला सकता हूं लेकिन अगर मैं लिनक्स का उपयोग कर रहा हूं तो क्या होगा?

जवाबों:


20

Windows पर, आप नहीं कर सकते UNC पथ में साख डाल दिया। आपको उन्हें विंडोज के द्वारा उपयोग करने net useके लिए runas /netonly, या पूछे जाने पर प्रदान करना होगा । (यदि आपके पास कुछ प्रोग्रामिंग कौशल हैं, तो आप एसएमबी पासवर्ड को "डोमेन क्रेडेंशियल" के रूप में उपयोग कर सकते हैं CredWrite(), जो विंडोज में "पासवर्ड याद रखें" बॉक्स की जांच करने के बराबर है।)

लिनक्स पर, यह प्रोग्राम पर निर्भर करता है।

  • गनोम के Gvfs user@hostसिंटैक्स को स्वीकार करता है , लेकिन पासवर्ड को पूरी तरह से अनदेखा करता प्रतीत होता है। (हालांकि, आप इसे GNOME कीरिंग में पहले से स्टोर कर सकते हैं।)

  • smbclientWindows के समान UNC सिंटैक्स का उपयोग करता है; हालाँकि, इसके पास एक --authentication-fileविकल्प है जिससे क्रेडेंशियल्स को पढ़ा जा सकता है।

  • उपरोक्त दोनों प्रोग्राम libsmbclient का उपयोग कर रहे हैं , और पासवर्ड के बजाय Kerberos प्रमाणीकरण का उपयोग कर सकते हैं: चलाएं kinit user@YOUR.DOMAINऔर उपयोग करें smbclient -k //host/share। यह पासवर्ड प्रमाणीकरण की तुलना में अधिक सुरक्षित है।

ध्यान दें कि यूआरआई में पासवर्ड डालना पदावनत है, और आपको कहीं भी समर्थित होने पर भरोसा नहीं करना चाहिए ।


क्या आपके पास "यूआरआई में पासवर्ड डालने से वंचित है" के संदर्भ में एक संदर्भ है?
एलेक्सिस विल्के

2
@AlexisWilke RFC 1738 by 3.3 उन्हें HTTP में अनुमति नहीं देकर शुरू किया, RFC 2396 more 3.2.2 में एक अधिक सामान्य "अनुशंसित नहीं" था, और RFC 3986 § 3.2.1 का कहना है कि "फॉर्मेट का उपयोग करें" उपयोगकर्ता: पासवर्ड "userinfo में" फ़ील्ड को हटा दिया गया है ”।
११'११

14

आप UNC पथ का उपयोग करके "ड्राइव" मैप कर सकते हैं net use। भविष्य के एक्सेस को मौजूदा कनेक्शन साझा करना चाहिए

Net Use \\yourUNC\path /user:uname password

नोट: आपको एक ड्राइव अक्षर निर्दिष्ट करने की आवश्यकता नहीं है


1

मुझे लगता है कि किसी भी फ़ाइल का उपयोग करने से पहले उपयोगकर्ता नाम और पासवर्ड को पहले प्रमाणीकरण के लिए सर्वर पर भेजना होगा, इसलिए एसएमबी कनेक्शन को संभालने वाले कोड को URL से उपयोगकर्ता नाम और पासवर्ड को पार्स और अतिरिक्त करने में सक्षम होना चाहिए। आपको यह जांचना होगा कि यह कोड इस प्रारूप का समर्थन करता है या नहीं।

यदि ऐसा नहीं होता है, तो आप SAMBA के माध्यम से उस SMB शेयर को माउंट कर सकते हैं और उस "स्थानीय" पथ का उपयोग करने के लिए अपने प्रोग्राम को निर्देशित कर सकते हैं। आप fstabउपयोगकर्ता क्रेडेंशियल्स की आपूर्ति के लिए एक माउंट और SAMBA पासवर्ड फ़ाइल का उपयोग कर सकते हैं। पासवर्ड फ़ाइल की सही अनुमतियाँ सेट करना याद रखें ताकि सामान्य उपयोगकर्ता इसे न पढ़ सकें।

ध्यान दें कि कॉन्फ़िगरेशन फ़ाइलों में स्पष्ट पाठ में पासवर्ड स्टोर करना बुरा अभ्यास है, इसलिए भले ही आपका प्रोग्राम URL में पासवर्ड को संभाल सकता है, आपको माउंटेड शेयर विधि पर विचार करना चाहिए।


है fstabएक "स्पष्ट पाठ विन्यास फाइल" नहीं?
grawity

1
हां, लेकिन fstab में आप सीधे पासवर्ड शामिल करने के बजाय पासवर्ड फाइल को देखें। फिर आप स्वामी फ़ाइल को रूट और मोड में 400 में बदलकर पासवर्ड फ़ाइल को सुरक्षित कर सकते हैं।
Billc.cn

यह अभी भी एक क्लियरटेक्स्ट कॉन्फिग फाइल है। जो कोई भी मशीन तक भौतिक पहुंच रखता है, वह रिबूट के माध्यम से रूट अनुमति दे सकता है। XFCE, KDE, और Gnome जैसे डेस्कटॉप वातावरण एक पासवर्ड वॉल्ट में क्रेडेंशियल्स स्टोर कर सकते हैं, जो शायद बेहतर विकल्प है।
बोबपॉल

0

आप कंट्रोल पैनल / यूजर्स / विंडोज क्रेडेंशियल मैनेजर में क्रेडेंशियल्स जोड़ सकते हैं ताकि क्रेडेंशियल्स कैश हो जाएं। आप डोमेन नेम / पासवर्ड के साथ डिवाइस का नाम (server.domain.local) जोड़ेंगे, फिर आपको फिर से क्रेडेंशियल्स प्रदान किए बिना शेयर तक पहुंचने में सक्षम होना चाहिए।


0

एक गैर-डोमेन पीसी को वास्तव में डीएफएस के बारे में परवाह नहीं करनी चाहिए जिसमें वह सदस्यता नहीं लेता है या सीधे भाग नहीं लेता है। इसके लिए बस एक शेयर पाथ (यानी सर्वर / शार्नेम) देखना होगा। Sharenames सभी होस्ट फ़ाइल सर्वर पथ विचारों को हटा दें।

ईमानदारी से UNC URI की तुलना में शेयरों में लॉगऑन करने के अधिक सुरक्षित तरीके हैं। यूएनसी और यूआरआई खुद एक स्पष्ट पाठ संचार प्रोटोकॉल हैं।
यदि वह स्वीकार्य सुरक्षा है ... तो किसी भी उपयोगकर्ता या पासवर्ड के बिना एक खुला हिस्सा क्यों नहीं है?

सबसे सरल तात्कालिक समाधान सेवा क्रेडेंशियल्स को लॉगऑन को शेयर तक पहुंच प्रदान करना होगा (उदाहरण के लिए उपयोगकर्ता / पासवर्ड का मिलान)। लंबे समय तक ऐसा नहीं है कि स्पष्ट मैच अनुमति को अद्यतन करने के लिए याद रख सकता है जब भी चीजें मुश्किल होती हैं। और इसका एक क्षेत्र ऐसा भी है जहां एमएस बदल सकता है कि सुरक्षा कैसे फिर से क्रेडेंशियल पास करती है और चीजों को तोड़ती है।

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

लेकिन डीएफएस अधिक सुरुचिपूर्ण समाधान के लिए एक सुराग देता है। लिनक्स को पहले नेटवर्क शेयर की आवश्यकता होती है ... आमतौर पर रूट फाइल सिस्टम में एक निर्देशिका के रूप में डीएफएस की तरह। लिनक्स माउंट कमांड उपयोगकर्ता नाम और पासवर्ड के लिए एक क्रेडेंशियल फ़ाइल निर्दिष्ट करने की अनुमति देता है और इस प्रकार उन्हें कमांड लाइन स्क्रिप्ट या फ़ॉस्टब (यानी फ़ाइल सिस्टम टेबल) की तुलना में अपडेट और अधिक सुरक्षित बनाना आसान बनाता है। मुझे पूरा यकीन है कि विंडोज कमांड के गोले और डीएफएस एक ही काम कर सकते हैं (थोड़ी देर के लिए)। यह केवल एक अलग डीएफएस सिस्टम होगा जो लक्ष्य पीसी के लिए निजी होगा जिसमें लिपि में हार्ड कोडित के बजाय एसएमबी और लॉगऑन सेवाओं द्वारा पारित संगृहीत नेटवर्क का उपयोग करके माउंटेड नेटवर्क शेयरों को शामिल करना और स्पष्ट पाठ यूएनसी के रूप में भेजा गया था।

यह भी विचार करें कि क्या यह नॉनडोमैन पीसी एक गैर-डोमेन पीसी दीर्घकालिक रहेगा। Kerberos लॉगऑन सर्वर * NIX स्थानों को विंडोज AD डोमेन से जोड़ा जा सकता है। संभवतः आप किसी भी गंभीर दीर्घकालिक परियोजना के लिए क्या करना चाहते हैं जिसमें कुछ से अधिक लोग शामिल हैं। दूसरी ओर अधिकांश घरेलू नेटवर्क स्थितियों के लिए इसकी संभवतः ओवरकिल है। यद्यपि यदि आप हॉबीस्ट सेल्फ-चैलेंज के अलावा किसी अच्छे कारण के लिए डीएफएस का उपयोग कर रहे हैं तो शायद यह सबसे अच्छा है।


0

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

लेकिन अगर इसकी विरासत विंडोज या लिनक्स के लिए आपको थोड़ी व्यापक होने की आवश्यकता हो सकती है।

एक गैर-डोमेन पीसी को वास्तव में डीएफएस के बारे में परवाह नहीं करनी चाहिए जिसमें वह सदस्यता नहीं लेता है या सीधे भाग नहीं लेता है। इसके लिए बस एक शेयर पाथ (यानी सर्वर / शार्नेम) देखना होगा। Sharenames सभी होस्ट फ़ाइल सर्वर पथ विचारों को हटा दें।

ईमानदारी से UNC URI की तुलना में शेयरों में लॉगऑन करने के अधिक सुरक्षित तरीके हैं। यूएनसी और यूआरआई खुद एक स्पष्ट पाठ संचार प्रोटोकॉल हैं।
यदि वह स्वीकार्य सुरक्षा है ... तो किसी भी उपयोगकर्ता या पासवर्ड के बिना एक खुला हिस्सा क्यों नहीं है?

सबसे सरल तात्कालिक समाधान सेवा क्रेडेंशियल्स को लॉगऑन को शेयर तक पहुंच प्रदान करना होगा (उदाहरण के लिए उपयोगकर्ता / पासवर्ड का मिलान)। लंबे समय तक ऐसा नहीं है कि स्पष्ट मैच अनुमति को अद्यतन करने के लिए याद रख सकता है जब भी चीजें मुश्किल होती हैं। और इसका एक क्षेत्र ऐसा भी है जहां एमएस बदल सकता है कि सुरक्षा कैसे फिर से क्रेडेंशियल पास करती है और चीजों को तोड़ती है।

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

लेकिन डीएफएस अधिक सुरुचिपूर्ण समाधान के लिए एक सुराग देता है। लिनक्स को पहले नेटवर्क शेयर की आवश्यकता होती है ... आमतौर पर रूट फाइल सिस्टम में एक निर्देशिका के रूप में डीएफएस की तरह। लिनक्स माउंट कमांड उपयोगकर्ता नाम और पासवर्ड के लिए एक क्रेडेंशियल फ़ाइल निर्दिष्ट करने की अनुमति देता है और इस प्रकार उन्हें कमांड लाइन स्क्रिप्ट या फ़ॉस्टब (यानी फ़ाइल सिस्टम टेबल) की तुलना में अपडेट और अधिक सुरक्षित बनाना आसान बनाता है। मुझे पूरा यकीन है कि विंडोज कमांड के गोले और डीएफएस एक ही काम कर सकते हैं (थोड़ी देर के लिए)। यह केवल एक अलग डीएफएस सिस्टम होगा जो लक्ष्य पीसी के लिए निजी होगा जिसमें लिपि में हार्ड कोडित के बजाय एसएमबी और लॉगऑन सेवाओं द्वारा पारित संगृहीत नेटवर्क का उपयोग करके माउंटेड नेटवर्क शेयरों को शामिल करना और स्पष्ट पाठ यूएनसी के रूप में भेजा गया था।

यह भी विचार करें कि क्या यह नॉनडोमैन पीसी एक गैर-डोमेन पीसी दीर्घकालिक रहेगा। Kerberos लॉगऑन सर्वर * NIX स्थानों को विंडोज AD डोमेन से जोड़ा जा सकता है। संभवतः आप किसी भी गंभीर दीर्घकालिक परियोजना के लिए क्या करना चाहते हैं जिसमें कुछ से अधिक लोग शामिल हैं। दूसरी ओर अधिकांश घरेलू नेटवर्क स्थितियों के लिए इसकी संभवतः ओवरकिल है। यद्यपि यदि आप हॉबीस्ट सेल्फ-चैलेंज के अलावा किसी अच्छे कारण के लिए डीएफएस का उपयोग कर रहे हैं तो शायद यह सबसे अच्छा है।

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