वेब अनुप्रयोग के लिए IIS7 फ़ोल्डर अनुमतियाँ


91

मैं IIS7 के साथ अपनी कंपनी की इंट्रानेट वेबसाइट पर प्रतिरूपण के बिना विंडोज़ प्रमाणीकरण का उपयोग कर रहा हूं।

IIS7 के तहत, उस फ़ोल्डर का उपयोग करने के लिए किस खाते का उपयोग किया जाता है जिसमें इन सेटिंग्स का उपयोग करके मेरा वेब ऐप है?

क्या यह IIS_IUSRS होगा? या नेटवर्क सेवा? या किसी अन्य के बारे में मुझे पता नहीं है?


जवाबों:


127

IIS 7 में (IIS 7.5 नहीं), साइट के लिए एप्लिकेशन पूल पर सेट खाते के आधार पर साइटें फ़ाइलों और फ़ोल्डरों का उपयोग करती हैं। डिफ़ॉल्ट रूप से, IIS7 में, यह खाता है NETWORK SERVICE

एप्लिकेशन पूल (IIS 7) के लिए एक पहचान निर्दिष्ट करें

IIS 7.5 (Windows 2008 R2 और Windows 7) में, अनुप्रयोग पूल ApplicationPoolIdentity के तहत चलता है जो अनुप्रयोग पूल शुरू होने पर बनाया जाता है। यदि आप इस खाते के लिए ACLS सेट करना चाहते हैं, तो आपको IIS AppPool\ApplicationPoolNameइसके बजाय चुनने की आवश्यकता है NT Authority\Network Service


34
ध्यान दें कि यह सचमुच नहीं है IIS AppPool\ApplicationPoolName, लेकिन IIS AppPool\<yourpoolname>
जेफ एस

21
IIS 7.5 में, अनुप्रयोग पूल के लिए डिफ़ॉल्ट पहचान ApplicationPoolIdentity है। ApplicationPoolIdentity एक Windows उपयोगकर्ता खाते का प्रतिनिधित्व करता है जिसे "IIS APPPOOL \ AppPoolName" कहा जाता है, जो कि एप्लिकेशन पूल बनने पर बनाया जाता है, जहां AppPoolName अनुप्रयोग पूल का नाम है। "IIS APPPOOL \ [AppPoolName]" उपयोगकर्ता डिफ़ॉल्ट रूप से IIS_IUSRS समूह का सदस्य है। इसलिए आपको IIS_IUSRS समूह
Be.St.

Windows के अधिक हाल के संस्करणों पर लोग इस लेख को 'AppPool \ DefaultAppPool' खाते में कॉन्फ़िगर करने के लिए उपयोगी हो सकते हैं यदि उनके पास एक समान समस्या है: iis.net/learn/manage/configuring-security/… । यह उस त्रुटि से बचने में भी मदद करता है जो मुझे विंडोज 8 से 8.1 तक अपडेट करने के बाद मिली थी, जहां कहा गया है: "एक कॉन्फ़िगरेशन फ़ाइल लोड करने में त्रुटि हुई: [पूर्ण फ़ाइल पथ] में परिवर्तन की निगरानी शुरू करने में विफल क्योंकि एक्सेस से इनकार कर दिया गया है।"
मैटी जे

मैंने एप्लिकेशन पूल को पूरी अनुमति दे दी है .. लेकिन अभी भी इनकार कर दिया है।
यूसी

26

http://forums.iis.net/t/1187650.aspx का उत्तर है। ताल पूल पहचान के लिए आईआईएस प्रमाणीकरण सेट करना यह हल करेगा।

IIS प्रमाणीकरण में, अनाम प्रमाणीकरण "विशिष्ट उपयोगकर्ता" पर सेट किया गया था। जब मैंने इसे एप्लिकेशन पूल में बदल दिया, तो मैं साइट तक पहुंच सकता हूं।

सेट करने के लिए, IIS में अपनी वेबसाइट पर क्लिक करें और "प्रमाणीकरण" पर डबल-क्लिक करें। "बेनामी प्रमाणीकरण" पर राइट-क्लिक करें और "संपादित करें ..." विकल्प पर क्लिक करें। "विशिष्ट उपयोगकर्ता" से "एप्लिकेशन पूल पहचान" पर स्विच करें। अब आपको IIS AppPool \ {Your App Pool Name} का उपयोग करके फ़ाइल और फ़ोल्डर अनुमतियाँ सेट करने में सक्षम होना चाहिए।


3
इससे काफी मदद मिली। यदि आप बेनामी प्रमाणीकरण को "विशिष्ट उपयोगकर्ता" से "एप्लिकेशन पूल पहचान" में नहीं बदलते हैं, तो IIS AppPool \ {आपका ऐप पूल नाम} अनुमतियाँ सेट करते समय आपके अनुमति परिवर्तन प्रतिबिंबित नहीं होंगे।
डेविड

हे भगवान। इस पर कोई पिकअप नहीं लगता है। यह बस खुदाई के कुछ घंटों का हल है।
जो स्विंडेल

19

IIS 7.5 चलाना, मुझे स्थानीय कंप्यूटर उपयोगकर्ता IUSR के लिए अनुमतियाँ जोड़ने का सौभाग्य मिला । ऐप पूल उपयोगकर्ता ने काम नहीं किया।


16

यदि यह किसी की मदद करता है, तो "IIS_IUSRS" समूह को अनुमति दें।

ध्यान दें कि यदि आपको "IIS_IUSRS" नहीं मिल रहा है, तो इसे "MySexyServer \ IIS_IUSRS" जैसे अपने सर्वर के नाम के साथ प्रीपेडिंग करने का प्रयास करें।


इसने मेरे लिए यह किया। मुझे सर्वर का नाम याद नहीं आ रहा था और उसने अभी तक किसी का उल्लेख नहीं देखा था।
drichardson 18

इसके लिए आप हमेशा स्थानीय संकेतन का उपयोग कर सकते हैं "। \ IIS_IUSRS"
बर्नहार्ड

3

30 सेकंड में मेरे लिए काम किया, छोटा और मीठा:

  1. IIS प्रबंधक में (inetmgr चलाएँ)
  2. ApplicationPool पर जाएं -> उन्नत सेटिंग्स
  3. ApplicationSoolIdentity को NetworkService पर सेट करें
  4. फ़ाइल पर जाएं, संपत्तियों पर राइट क्लिक करें, सुरक्षा पर जाएं, संपादन पर क्लिक करें, ऐड पर क्लिक करें, नेटवर्क सेवा दर्ज करें (अंतरिक्ष के साथ, फिर 'नामों की जांच करें' पर क्लिक करें), और पूर्ण नियंत्रण दें (या बस आपको जो भी अनुमति चाहिए)

यह किया! धन्यवाद
Yazan Khalaileh

1
  1. IIS 7.5 और विंडोज 7 पर काम करना मैं APPPOOL / Mypool को अनुमति नहीं दे सकता
  2. IUSR और IIS_IUSRS अनुमतियाँ मेरे लिए काम नहीं कर रही हैं
  3. मुझे इस तरह से समस्या हुई:


    इस तरह के createeventsource का उपयोग करके C # -This appliaction के साथ -Created कंसोल अनुप्रयोग

    अगर (System.Diagnostics.EventLog.SourceExists (sourceName)) System.Diagnostics.EventLog.CreateEventSource (sourceName, logName);

    -बाहर समाधान और पाने के लिए .exe फ़ाइल

    व्यवस्थापक के रूप में बाहर निकलें.यह लॉग फ़ाइल बनाएँ।

ध्यान दें: लॉग को देखने के लिए इवेंट व्यूअर को रिफ्रेश नहीं होना चाहिए।

मुझे उम्मीद है कि यह समाधान किसी की मदद करता है :)

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