IIS_IUSRS और IUSR IIS8 में अनुमतियाँ


146

मैं सिर्फ ASP.NET अनुप्रयोगों की मेजबानी के लिए Win2013 पर IIS200 को Win2003 पर IIS6 से दूर ले गया हूं।

मेरे एप्लिकेशन में एक विशेष फ़ोल्डर के भीतर मुझे फ़ाइलों को बनाना और हटाना होगा। फ़ाइलों को नए सर्वर पर कॉपी करने के बाद, मैंने फ़ाइलों को हटाने का प्रयास करते समय निम्नलिखित त्रुटियों को देखा:

पथ 'D: \ WebSites \ myapp.co.uk \ companydata \ filename.pdf' तक पहुँच अस्वीकृत है।

जब मैं IIS की जांच करता हूं, तो मैं देखता हूं कि डिफॉल्टऐप टूल के तहत एप्लिकेशन चल रहा है, हालांकि, मैंने कभी भी आईआईएस ऐपपूल \ डिफॉल्टपूल को शामिल करने के लिए इस फ़ोल्डर में विंडोज की अनुमति नहीं दी है।

इसके बजाय, ग्राहकों को चिल्लाने से रोकने के लिए मैंने फ़ोल्डर पर निम्नलिखित अनुमति दी:

IUSR

  • पढ़ें और निष्पादित करें
  • सूची फ़ोल्डर सामग्री
  • पढ़ें
  • लिखो

IIS_IUSRS

  • संशोधित
  • पढ़ें और निष्पादित करें
  • सूची फ़ोल्डर सामग्री
  • पढ़ें
  • लिखो

ऐसा लगता है कि काम किया है, लेकिन मुझे चिंता है कि बहुत सारे विशेषाधिकार निर्धारित किए गए हैं। मैंने परस्पर विरोधी जानकारी ऑनलाइन पढ़ी है कि क्या वास्तव में IUSR की यहाँ आवश्यकता है। क्या कोई स्पष्ट कर सकता है कि कृपया इस फ़ोल्डर पर दस्तावेज़ बनाने और हटाने के लिए कौन से उपयोगकर्ता / अनुमतियां पर्याप्त होंगी? इसके अलावा, IUSR IIS_IUSRS समूह का हिस्सा है?

अद्यतन और समाधान

कृपया मेरा जवाब नीचे देखें । मुझे यह दुख की बात है क्योंकि हाल के कुछ सुझावों पर अच्छी तरह से विचार नहीं किया गया था, या यहां तक ​​कि सुरक्षित (आईएमओ) भी।


एक अज़्योर वर्चुअल मशीन (विंडोज सर्वर 2012 डाटासेंटर) पर आईआईएस 8 पर वर्डप्रेस काम करने के लिए मुझे
आईआईटीआर के लिए आईआईएस_आईयूएसआरएस के

जो लोग इस धागे के लिए आते हैं, क्योंकि वे आईआईएस के तहत जुमला चलाने की कोशिश कर रहे हैं और फ़ाइल सुरक्षा सेटिंग्स के साथ समस्या हो रही है, मैंने एक ब्लॉग लेख लिखा है जो मुझे लगता है कि उचित समाधान है। संभवतः वर्डप्रेस या अन्य पीएचपी-आधारित वेब सर्वर कार्यक्रमों पर भी लागू होता है। renniestechblog.com/index.php/information/…
RenniePet


उपयोगकर्ता समूह IIS_IUSRS के लिए फ़ोल्डर के लिए पूर्ण अनुमति जोड़ने के बाद ठीक काम करना।
थुलसीराम

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

जवाबों:


146

मैं अपने स्वयं के उत्तर को पोस्ट करने से नफरत करता हूं, लेकिन कुछ उत्तरों ने हाल ही में मेरे स्वयं के प्रश्न में पोस्ट किए गए समाधान को नजरअंदाज कर दिया है, दृष्टिकोण का सुझाव देते हुए कि मूर्खता से कम नहीं हैं।

संक्षेप में - आपको किसी भी विंडोज उपयोगकर्ता खाता विशेषाधिकारों को संपादित करने की आवश्यकता नहीं है । ऐसा करना केवल जोखिम का परिचय देता है। प्रक्रिया पूरी तरह से विरासत में मिले विशेषाधिकारों का उपयोग करके IIS में प्रबंधित है।

सही उपयोगकर्ता खाते में संशोधित / लिखें अनुमतियाँ लागू करना

  1. साइट सूची के तहत दिखाई देने पर डोमेन को राइट-क्लिक करें, और संपादन अनुमतियाँ चुनें

    यहाँ छवि विवरण दर्ज करें

    सुरक्षा टैब के तहत , आप देखेंगे MACHINE_NAME\IIS_IUSRSकि सूचीबद्ध है। इसका अर्थ यह है कि IIS स्वचालित रूप से निर्देशिका पर केवल-पढ़ने की अनुमति है (उदाहरण के लिए साइट में ASP.Net चलाने के लिए)। आपको इस प्रविष्टि को संपादित करने की आवश्यकता नहीं है

    यहाँ छवि विवरण दर्ज करें

  2. संपादन बटन पर क्लिक करें, फिर जोड़ें ...

  3. पाठ बॉक्स में, अपने डोमेन नाम या एप्लिकेशन पूल जो भी आपकी साइट तक पहुँच रहा है IIS AppPool\MyApplicationPoolName, के MyApplicationPoolNameसाथ प्रतिस्थापित करना, जैसेIIS AppPool\mydomain.com

    यहाँ छवि विवरण दर्ज करें

  4. प्रेस चेक नाम बटन। आपके द्वारा लिखा गया पाठ रूपांतरित होगा (रेखांकित करें):

    यहाँ छवि विवरण दर्ज करें

  5. उपयोगकर्ता जोड़ने के लिए ओके दबाएं

  6. नए उपयोगकर्ता (आपके डोमेन) के साथ, अब आप सुरक्षित रूप से किसी भी संशोधित या लिखने की अनुमति प्रदान कर सकते हैं

    यहाँ छवि विवरण दर्ज करें


2
यह मेरे IIS 8.5 सर्वर पर काम नहीं किया। IUSRकाम जोड़ना । जोड़ना IIS AppPool\Cache(मेरे एप्लीकेशन पूल का नाम) पैदावारHTTP Error 401.3 - Unauthorized
चार्ल्स बर्न

14
@CharlesBurns मेरे पास एक ही मुद्दा था, मैंने इसे अपना मूल कारण पाया: techras.wordpress.com/2016/03/09/… (अनाम पूल अनुप्रयोग के बजाय IUSR का उपयोग करने के लिए निर्धारित किया गया था)
जॉन

2
मेरे पास केवल एक वर्चुअल निर्देशिका के रूप में उपयोग किया जाने वाला एक फ़ोल्डर था और जब तक मैंने इसे साझा नहीं किया, तब तक यह ठीक काम करता था (विंडोज़ फ़ोल्डर इसे इंगित करता था) दूसरे डोमेन खाते के साथ, इसलिए यह हमारे इंट्रानेट पर फ़ाइलों को देख सकता था। जब मैंने ऐसा किया, तो वर्चुअल डायरेक्टरी में फाइलें अचानक अप्राप्य हो गईं। मैं दोनों को जोड़ने MyComputerName\IIS_IUSRSऔर IUSRफिर से काम करने के लिए केवल अनुमतियाँ पढ़ने के साथ समाप्त हुआ । यह सिर्फ वर्चुअल निर्देशिकाएँ (नहीं। नेट ऐप्स) के लिए है, लेकिन किसी को यह उपयोगी लग सकता है।
मिकोटीवीई

13
बस एक नोट: जब आप उपयोगकर्ता और कंप्यूटर को एक डोमेन के सदस्य के लिए खोजते हैं, तो IIS AppPool \ MyApplicationPoolName नहीं मिल सकता है। मेरे मामले में, मुझे स्थान बटन पर क्लिक करने और स्थानीय कंप्यूटर पर स्थान बदलने की आवश्यकता है।
स्टेटर

3
मेरे परीक्षणों में यहाँ उपयोग करने वाले विशेष उपयोगकर्ता के नाम का डोमेन नाम से कोई लेना-देना नहीं है। यह अनुप्रयोग पूल का नाम है जिसे IIS में साइट को सौंपा गया है। इस एप्लिकेशन पूल में आपकी वेबसाइट के डोमेन से मेल खाने वाला नाम हो सकता है या नहीं भी हो सकता है। तो पैटर्न है IIS AppPool\[APPLICATION POOL NAME]:। अनुप्रयोग पूल नाम में रिक्तियाँ स्वीकार की जाती हैं। कृपया यह भी ध्यान दें कि यह उपयोगकर्ता केवल तभी मिलेगा, जब "अंतर्निहित सुरक्षा प्रिंसिपलों" को नाम खोज के लिए ऑब्जेक्ट प्रकार ("उपयोगकर्ता या समूह चुनें" संवाद में शीर्ष क्षेत्र) के रूप में जांचा जाए।
जपसी

49

IUSR IIS_IUSER group.so का हिस्सा है। मुझे लगता है कि आप बिना किसी चिंता के IUSR की अनुमति को हटा सकते हैं। आगे की पढाई

हालाँकि, समय के साथ एक समस्या उत्पन्न हुई क्योंकि अधिक से अधिक विंडोज सिस्टम सेवाएं NETWORKSERVICE के रूप में चलने लगीं। ऐसा इसलिए है क्योंकि NETWORKSERVICE के रूप में चलने वाली सेवाएँ उसी पहचान के तहत चलने वाली अन्य सेवाओं के साथ छेड़छाड़ कर सकती हैं। क्योंकि IIS कार्यकर्ता प्रक्रियाएं डिफ़ॉल्ट रूप से तृतीय-पक्ष कोड (क्लासिक ASP, ASP.NET, PHP कोड) चलाती हैं, यह समय आईआईएस कार्यकर्ता प्रक्रियाओं को अन्य विंडोज सिस्टम सेवाओं से अलग करने और विशिष्ट पहचान के तहत IIS कार्यकर्ता प्रक्रियाओं को चलाने का था। विंडोज ऑपरेटिंग सिस्टम "वर्चुअल अकाउंट्स" नामक एक सुविधा प्रदान करता है जो IIS को अपने प्रत्येक एप्लिकेशन पूल के लिए विशिष्ट पहचान बनाने की अनुमति देता है। DefaultAppPool डिफ़ॉल्ट पूल है जो आपके द्वारा बनाए गए सभी एप्लिकेशन पूल को सौंपा जाता है।

इसे और अधिक सुरक्षित बनाने के लिए आप IIS DefaultAppPool पहचान को ApplicationPoolIdentity में बदल सकते हैं।

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

उम्मीद है की यह मदद करेगा।


3
मैं बस सर्वर अनिवार्य 2012 R2 के तहत IIS 8 स्थापित किया। यह मशीन एक डोमेन कंट्रोलर भी है। AD उपयोगकर्ता और कंप्यूटर में, IIS_IUSRS समूह खाली है - इसमें IUSR उपयोगकर्ता नहीं है। मुझे लगता है कि मैं इसे समूह में जोड़ सकता हूं, लेकिन अनाम साइटों के लिए, मैं सिर्फ IUSR उपयोगकर्ता को अनुमति प्रदान करूंगा।
मार्क बेरी

7
जब मैंने IUSR के लिए अनुमति दी तो यह काम कर गया। जब मैंने IIS_IUSER को अनुमति दी तो यह काम नहीं किया।
इहेबिहेब

Iusr IIS_Iusrs का सदस्य नहीं है। (या विंडोज़ में एक बग है) आम तौर पर, Windows IIS_Iusrs का उपयोग करता है। (डायनेमिक पेज निष्पादित करना या स्टेटिक पेज एक्सेस करना) लेकिन कुछ मामले हैं जब विंडोज़ आईयूएसआर का उपयोग करती है, न कि IIS_Iusrs का। PHP का उपयोग करके फ़ाइल अपलोड उस मामले में से एक है। (और यदि आपने केवल iis_iusr दिया है, तो आप विशेषाधिकार अपवाद को पूरा करेंगे) मुझे लगता है कि M $ को Iusr और IIS_Iusrs की अनुमति देने के लिए "एक सर्वोत्तम-अभ्यास" देना चाहिए ...
अन्याय '।

मुझे लगता है कि अब इसका नाम बदलकर एप्लीकेशन पूल ग्रुप (IWGP) हो गया है। मैंने IWGP को अनुमति दी और यह काम कर गया।
रोहित अरोड़ा

6
IUSR IIS_IUSER का हिस्सा है। नहीं ऐसा नहीं है! IUSR अननोन यूजर है, IIS_IUSER एपल यूजर्स के लिए ग्रुप है
giammin

6

जब मैंने IIS_IUSRS को साइट फ़ोल्डर में अनुमति दी - संसाधन, जैसे कि js और css, तब भी अस्वीकार्य थे (त्रुटि 401, निषिद्ध)। हालाँकि, जब मैंने IUSR को जोड़ा - यह ठीक हो गया। तो निश्चित रूप से "आप चिंता किए बिना IUSR के लिए अनुमतियाँ निकाल सकते हैं", प्रिय @Travis G @


7
यह मत भूलो (यदि आपके पास IIS7 + है) तो सही समाधान IIS AppPool\MyApplicationPoolNameमेरे अद्यतन उत्तर के अनुसार उपयोग करना है । आपको IUSR (S) के बारे में और कोई गड़बड़ करने की आवश्यकता नहीं है!
ईविलड्राल

2
मैंने आपके सुझाव की कोशिश की है, लेकिन यह काम नहीं करता है। मैंने IUSR (S) को अनुमति से हटा दिया है और केवल पूल नाम ही रह गया है, ऐप चल रहा है। संसाधन बेहिसाब हो गए। IIS 8.5। जब मैंने IUSR को जोड़ा - यह काम कर गया।
अलेक्जेंडर

कृपया अपनी स्थिति के बारे में अधिक जानकारी के साथ अपना प्रश्न पोस्ट करें।
ईविलड्र

4

@EvilDr आप अपने AD वातावरण में एक IUSR_ [पहचानकर्ता] खाता बना सकते हैं और उस IUSR_ [पहचानकर्ता] खाते के तहत विशेष एप्लिकेशन पूल चलने दें:

"एप्लिकेशन पूल"> "उन्नत सेटिंग"> "पहचान"> "कस्टम खाता"

अपनी वेबसाइट को "Settingsaton उपयोगकर्ता (पास-थ्रू प्रमाणीकरण)" और न कि "विशिष्ट उपयोगकर्ता", को उन्नत सेटिंग्स में सेट करें।

अब उस IUSR_ [पहचानकर्ता] को फ़ाइलों और फ़ोल्डरों पर उपयुक्त NTFS अनुमतियाँ दें, उदाहरण के लिए: companydata पर संशोधित करें।


धन्यवाद, लेकिन मैं एडी का उपयोग नहीं कर रहा हूं। हाल ही के MS दस्तावेज़ीकरण के अनुसार, IIS 7 और 8 पहले से ही वर्णित के रूप में काम करने के लिए कॉन्फ़िगर किए गए हैं। सवाल वास्तव में यह है कि क्या निर्दिष्ट खातों में से एक वास्तव में आवश्यक है या नहीं, और कौन सा व्यवसाय करता है?
EvilDr

@EvilDr आप एक विज्ञापन का उपयोग नहीं कर रहे हैं स्पष्ट करने के लिए धन्यवाद। खैर, IIS_IUSRS एक उपयोगकर्ता नहीं है, यह एक समूह है। IIS 6.0 पर IIS_WPG की तरह। आप यहां IIS_IUSRS और IUSR के बारे में पढ़ सकते हैं: लिंक । आप IUSR खाते के लिए companydata * पर संशोधित अनुमतियाँ सेट कर सकते हैं और आप इस उपयोगकर्ता को IIS_IUSRS समूह में जोड़ सकते हैं और उस उपयोगकर्ताकाउंटर का उपयोग करके अपने एप्लिकेशन पूल को चला सकते हैं। यदि आपके पास एक से अधिक IUSR_accounts हैं, तो आपको केवल साझा फ़ोल्डरों पर IIS_IUSRS के लिए भव्य अनुमतियों की आवश्यकता है।
जन विद्रोह

जनवरी, मैंने हमेशा सोचा कि IUSR डिफ़ॉल्ट रूप से IIS_IUSRS समूह का हिस्सा था? यदि आप ऐसा कर सकते हैं, तो IUSR खाता बिल्ट-इन खाता कैसे देख सकते हैं। क्या आप कह रहे हैं कि मुझे IIS_USRS के लिए संशोधित अनचेक करना चाहिए और इसके बजाय IUSR की जांच करनी चाहिए? एकल-आवेदन की आवश्यकता को देखते हुए मुझे नहीं लगता कि इससे वास्तव में फर्क पड़ेगा?
EvilDr

3

IIS_IUSRS समूह में प्रमुखता केवल तभी है जब आप ApplicationPool पहचान का उपयोग कर रहे हैं। भले ही आपके पास यह समूह रन समय पर खाली दिखता हो लेकिन IIS इस समूह को Microsoft साहित्य के अनुसार एक कार्यकर्ता प्रक्रिया चलाने के लिए जोड़ता है।


यकीन नहीं हो रहा था कि यह क्यों ठुकरा दिया गया। docs.microsoft.com/en-us/iis/get-started/planning-for-security/…
ग्रेग

0

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

विशिष्ट उपयोगकर्ता सेटिंग विशेष रूप से स्थानीय संसाधनों तक पहुँचने के लिए होती है।

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