जब मैं विंडोज 7 पर mklink को एक्सेस करने से इनकार कर देता हूं


34

इस सवाल का पहले से ही यहाँ एक जवाब है:

मेरी होम डाइरेक्टरी c: \ Users \ phi एक यूजर फी के रूप में है, और मैंने c: \ Users \ abc पर एक डायरेक्टरी बनाई। मुझे c: \ Users \ phi \ hello to c: \ Users \ abc \ hello से प्रतीकात्मक लिंक की आवश्यकता है।

मैं निम्नलिखित कमांड चलाता हूं

mklink c: \ Users \ abc \ hello c: \ Users \ phi \ hello

लेकिन मुझे लगता है कि प्रवेश निषेध है त्रुटि। उपयोगकर्ता phi प्रशासक है, इसलिए मुझे c: \ Users \ abc में फ़ाइलें लिखने में कोई समस्या नहीं है।

ऐसा क्यों है? कैसे करें mklink?

जवाबों:


27

महत्वपूर्ण बिंदु:

  1. यदि UAC चालू है, तो आपको व्यवस्थापक के रूप में चलाने की आवश्यकता है। (या लिंक बनाने की अनुमति देने के लिए कम से कम सुरक्षा नीति)।
  2. /Dयदि निर्देशिका के लिए लिंक है, तो स्विच का उपयोग करने की आवश्यकता है।
  3. पहला पैरामीटर एक लिंक है, दूसरा पैरामीटर मूल फ़ोल्डर है।
  4. लिंक पहले से मौजूद नहीं होना चाहिए।

उपयोग:

mklink /D c:\users\me\new_link\ c:\users\me\original_folder\

@ लॉरेंसडॉल यह कहना सही है कि गैर-व्यवस्थापक उपयोगकर्ताओं के लिए, आपको विशेष अनुमति ( SeCreateSymbolicLinkPrivilege) की आवश्यकता होती है, जबकि व्यवस्थापक-उपयोगकर्ताओं के लिए आपको रन- ए-एडमिन के साथ ऊंचा करने की आवश्यकता होती है। लेकिन फिर क्या यह SeCreateSymbolicLinkPrivilegeएक व्यवस्थापक-उपयोगकर्ता पर भी सेट किया जा सकता है और रन-ए-एडमिन के साथ ऊंचा होने से बचना चाहिए? यह प्रश्न: stackoverflow.com/questions/29956470/… इंगित करता है कि व्यवस्थापक-उपयोगकर्ताओं को ऊपर उठाने की आवश्यकता नहीं है, UAC को अक्षम करना होगा।
CMCDragonkai

@CMCDragonkai: मुझे नहीं लगता कि ऊंचाई जरूरी है, लेकिन मैंने विशेष रूप से इसका परीक्षण नहीं किया है। यह मुझे लगता है कि मैंने पहले एक सामान्य कमांड विंडो में एक व्यवस्थापक खाते का उपयोग करके लिंक बनाए हैं और मैं हमेशा यूएसी पर छोड़ता हूं।
लॉरेंस डोल

25

मुझे इस साइट से एक उत्तर मिला । संक्षेप में, मुझे cmd.exe को व्यवस्थापक के रूप में चलाना चाहिए।


4
संदर्भ के लिए, यह भी एक कारण हो सकता है: superuser.com/questions/264181/…
Wouter

9
यदि आप फ़ोल्डर को लिंक करते समय / H पैरामीटर का उपयोग करने का प्रयास करते हैं, तो आपको एक्सेस अस्वीकृत हो जाएगा। आपको फ़ोल्डरों के लिए अकेले उपयोग / डी की आवश्यकता है। यह वही है जो Wouter के लिंक में सम्‍मिलित है। +1 करने के लिए रूटर, धन्यवाद दोस्त! :)
कॉसिंगउंडरफ्लोव एवरीवेयर

21

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

संक्षिप्त उत्तर: आप केवल स्थानीय संस्करणों पर mklink का उपयोग कर सकते हैं।


यह लिंक बहुत उपयोगी नहीं है। (वाक्य अनपेक्षित)
rpattabi

यह उत्तर प्रश्न के लिए प्रासंगिक नहीं लगता है।
kreemoweet

2
@kreemoweet उत्तर प्रासंगिक है क्योंकि यदि आपको "प्रवेश निषेध है, जब मैं विंडोज 7 पर mklink" प्राप्त करता हूं, तो इसका कारण यह हो सकता है कि आप स्थानीय वॉल्यूम पर कमांड का उपयोग नहीं कर रहे हैं।
रेग संपादित करें

हां आप mklinkस्थानीय संस्करणों से परे उपयोग कर सकते हैं । mklink /d link_name \\server\shareठीक काम करता है।
बेपर्दा

आप उन्हें नहीं कर सकते हैं पर एक मैप किए गए ड्राइव । स्थानीय डिस्क -> रिमोट? हाँ। पार्टी जैसे
इट्स

15

विंडोज 7 (और बाद में) में लिंक और जंक्शन बनाने के लिए आपको एक विशेष सुरक्षा विशेषाधिकार की आवश्यकता होती है। व्यवस्थापक के रूप में आप secpol.mscसेट करने के लिए उपयोगकर्ताओं को यह अनुमति दे सकते हैं Local Policies\User Rights Assignment\Create symbolic links

यदि उपयोगकर्ता समय पर लॉग ऑन है, तो उन्हें लिंक बनाने में सक्षम होने के लिए लॉग ऑफ और बैक ऑफ करना होगा।

ध्यान दें कि लिंक कुछ ऐप्स में सुरक्षा कमजोरियों को उजागर कर सकते हैं - मैंने उन कमजोरियों के बारे में शोध नहीं किया है।


यह इस समस्या का एकमात्र योग्य उत्तर है किसी भी उत्तर के लिए नीच किरकिरा नहीं हो रहा है। प्रशासक के रूप में काम करना बंद करो! यह एक बहुत ही XP-ish रवैया है जिसमें सुरक्षा जोखिमों के लिए जागरूकता की कमी का प्रदर्शन किया जाता है, किसी भी विंडोज को बहुत कुछ सुनाया जाता है।
थॉमस अर्बन

9

यदि आप अक्सर लिनक्स का उपयोग कर रहे हैं, तो याद रखें कि पैरामीटर विंडोज पर स्वैप किए गए हैं।

यदि आप गलत आदेश का उपयोग करते हैं, तो आपको "एक्सेस अस्वीकृत" भी मिलेगा। क्योंकि आप एक प्रतीकात्मक लिंक बनाने की कोशिश कर रहे हैं जहाँ मूल पहले से मौजूद है।

विंडोज: mklink /D link original

लिनक्स: ln -s original link


4

मुझे यह मिल रहा था क्योंकि मैं गलती से mklink /Dएक फाइल के खिलाफ दौड़ गया था । लिंक एक्सप्लोरर में नहीं दिख रहा था, लेकिन यह विंडोज एक्सप्लोरर में था। कमांड प्रॉम्प्ट का उपयोग करते हुए मैंने मूल अमान्य निर्देशिका लिंक को हटा दिया और फिर /Dविकल्प के बिना इसे फिर से बनाया ।

वैसे, मुझे "प्रवेश निषेध है" त्रुटि मिल रही थी, भले ही मैं एक व्यवस्थापक के रूप में cmd.exe चला रहा था।


1

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


1

यदि आप चलाते हैं:

mklink / j C: \ path_to_link C: \ गंतव्य

यह काम करना चाहिए। मेरे मामले में, पॉवरशेल और cmd ने एक ही आउटपुट का उत्पादन किया। शक्तियों के लिए आपको केवल कमांड को शुरू करना होगा

cmd / c mklink ...


3
हां, लेकिन सावधान रहें : जंक्शन कठिन निर्देशिका लिंक की तुलना में कहीं अधिक घातक हैं। कमांड लाइन या एक्सप्लोरर से एक लिंक को हटाने से लिंक को हटा दिया जाता है, लेकिन एक्सप्लोरर से जंक्शन को हटाने से निर्देशिका में सबकुछ हटा दिया जाता है और फिर जंक्शन को हटा दिया जाता है - OOPS। mklink /D src tgtइसके बजाय उपयोग करें ।
लॉरेंस Dol

0

यह अजीब लग सकता है, लेकिन जांच लें कि फ़ाइल या फ़ोल्डर पहले से मौजूद नहीं है कि आप बनाने की कोशिश कर रहे हैं। कभी-कभी cmd प्रॉम्प्ट में अनदेखी करना आसान होता है।


0

निर्देशिकाओं के लिए आपको करना होगा:

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