IIS / ASP.NET के लिए सभी उपयोगकर्ता खाते क्या हैं और वे कैसे भिन्न हैं?


282

ASP.NET 4.0 के साथ विंडोज सर्वर 2008 के तहत संबंधित उपयोगकर्ता खातों की एक पूरी आस्तीन है, और मुझे समझ नहीं आ रहा है कि कौन सा है, वे कैसे अलग हैं, और कौन सा वास्तव में एक है जो मेरा ऐप के तहत चलता है। यहाँ एक सूची है:

  • IIS_IUSRS
  • IUSR
  • DefaultAppPool
  • ASP.NET v4.0
  • नेटवर्क सेवा
  • स्थानीय सेवा।

कौन सा क्या है?


और ASP.NET 4.0 या इसके बाद के संस्करण के साथ विंडोज सर्वर 2012 का उपयोग कर रहे हैं?
किकेनेट

जवाबों:


432

यह एक बहुत अच्छा सवाल है और दुख की बात है कि कई डेवलपर वेब डेवलपर होने और IIS स्थापित करने के संदर्भ में IIS / ASP.NET सुरक्षा के बारे में पर्याप्त प्रश्न नहीं पूछते हैं। तो यहाँ जाता है…।

सूचीबद्ध पहचान को कवर करने के लिए:

IIS_IUSRS:

यह पुराने IIS6 IIS_WPGसमूह के अनुरूप है । यह बिल्ट-इन ग्रुप है जिसके साथ यह सिक्योरिटी कॉन्फिगर है जैसे कि इस ग्रुप का कोई भी सदस्य एप्लीकेशन पूल आइडेंटिटी के रूप में काम कर सकता है।

IUSR:

यह खाता पुराने के अनुरूप है IUSR_<MACHINE_NAME> स्थानीय खाते के IIS5 और IIS6 वेबसाइटों के लिए डिफ़ॉल्ट अनाम उपयोगकर्ता था (अर्थात साइट के गुणों की निर्देशिका सुरक्षा टैब के माध्यम से कॉन्फ़िगर किया गया)।

अधिक जानकारी के लिए IIS_IUSRSऔर IUSRदेखें:

IIS 7 में अंतर्निहित उपयोगकर्ता और समूह खातों को समझना

DefaultAppPool:

यदि एप्लिकेशन पूल पहचान एप्लिकेशन पूल आइडेंटिटी फीचर का उपयोग करके चलाने के लिए कॉन्फ़िगर किया गया है, तो एक "संश्लेषित" खाता जिसे IIS AppPool\<pool name>पूल पर पूल पहचान के रूप में उपयोग करने के लिए बनाया जाएगा। इस मामले में एक संश्लेषित खाता होगा जिसे IIS AppPool\DefaultAppPoolपूल के जीवन काल के लिए बनाया गया है। यदि आप पूल को हटाते हैं तो यह खाता मौजूद नहीं रहेगा। फ़ाइलों और फ़ोल्डरों के लिए अनुमतियाँ लागू करते समय इनका उपयोग करके जोड़ा जाना चाहिए IIS AppPool\<pool name>। आप अपने कंप्यूटर उपयोगकर्ता प्रबंधक में इन पूल खातों को नहीं देखेंगे। अधिक जानकारी के लिए निम्नलिखित देखें:

आवेदन पूल पहचान

ASP.NET v4.0: -

यह ASP.NET v4.0 एप्लीकेशन पूल के लिए एप्लीकेशन पूल आइडेंटिटी होगा। ऊपर देखें DefaultAppPool

NETWORK SERVICE: -

NETWORK SERVICEखाता एक अंतर्निहित Windows 2003 को शुरू की पहचान है।NETWORK SERVICE एक कम विशेषाधिकार प्राप्त खाते है जिसके तहत आप अपने आवेदन पूल और वेबसाइटों चला सकते है। Windows 2003 पूल में चलने वाली वेबसाइट अभी भी साइट के अनाम खाते (IUSR_ या जिसे आपने अनाम पहचान के रूप में कॉन्फ़िगर किया है) का उपयोग कर सकती है।

ASP.NET में Windows 2008 से पहले आप ASP.NET अनुप्रयोग पूल खाते (आमतौर पर NETWORK SERVICE) के तहत अनुरोध निष्पादित कर सकते थे । वैकल्पिक रूप से आप स्थानीय रूप <identity impersonate="true" />से web.configफ़ाइल में सेटिंग के माध्यम से साइट के बेनामी खाते को लगाने के लिए ASP.NET को कॉन्फ़िगर कर सकते हैं (यदि वह सेटिंग बंद है तो इसे किसी व्यवस्थापक द्वारा करने की आवश्यकता होगीmachine.config फ़ाइल )।

<identity impersonate="true">साझा होस्टिंग वातावरण में सेटिंग आम है जहां साझा किए गए एप्लिकेशन पूल का उपयोग किया जाता है (प्रतिरूपण खाते को बंद करने से रोकने के लिए आंशिक ट्रस्ट सेटिंग्स के साथ संयोजन में)।

IIS7.x / ASP.NET में प्रतिरूपण नियंत्रण अब किसी साइट के प्रमाणीकरण कॉन्फ़िगरेशन सुविधा के माध्यम से कॉन्फ़िगर किया गया है। तो आप पूल पहचान, IUSRया एक विशिष्ट कस्टम अनाम खाते के रूप में चलाने के लिए कॉन्फ़िगर कर सकते हैं।

LOCAL SERVICE:

LOCAL SERVICEखाता एक अंतर्निहित सेवा नियंत्रण प्रबंधक द्वारा इस्तेमाल किया खाता है। इसमें स्थानीय कंप्यूटर पर विशेषाधिकारों का न्यूनतम सेट है। इसके उपयोग की काफी सीमित गुंजाइश है:

स्थानीय सेवा खाता

LOCAL SYSTEM:

आपने इस बारे में नहीं पूछा, लेकिन मैं पूर्णता के लिए जोड़ रहा हूं। यह एक स्थानीय बिल्ट-इन खाता है। इसमें काफी व्यापक विशेषाधिकार और विश्वास है। इस पहचान के तहत चलने के लिए आपको कभी भी वेबसाइट या एप्लिकेशन पूल को कॉन्फ़िगर नहीं करना चाहिए।

स्थानीय प्रणाली खाता

प्रयोग में:

एक वेबसाइट हासिल करने के लिए पसंदीदा दृष्टिकोण का अभ्यास करें (यदि साइट को अपना आवेदन पूल मिलता है - जो कि IIS7 के एमएमसी में एक नई साइट के लिए डिफ़ॉल्ट है) के तहत चलना है Application Pool Identity। इसका अर्थ है कि साइट की पहचान को उसके अनुप्रयोग पूल की उन्नत सेटिंग में सेट करना Application Pool Identity:

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

वेबसाइट में आपको तब प्रमाणीकरण सुविधा को कॉन्फ़िगर करना चाहिए:

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

अनाम प्रमाणीकरण प्रविष्टि पर राइट क्लिक करें और संपादित करें:

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

सुनिश्चित करें कि "एप्लिकेशन पूल पहचान" चयनित है:

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

जब आप फ़ाइल और फ़ोल्डर अनुमतियों को लागू करने के लिए आते हैं, तो आप एप्लिकेशन पूल पहचान को मंजूरी देते हैं जो भी अधिकार आवश्यक हैं। उदाहरण के लिए यदि आप ASP.NET v4.0पूल अनुमतियों के लिए आवेदन पूल पहचान दे रहे हैं तो आप एक्सप्लोरर के माध्यम से ऐसा कर सकते हैं:

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

"चेक नाम" बटन पर क्लिक करें:

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

या आप ICACLS.EXEउपयोगिता का उपयोग करके ऐसा कर सकते हैं :

icacls c: \ wwwroot \ mysite / अनुदान "IIS AppPool \ ASP.NET v4.0" :( CI) (OI) (M)

... या ... यदि आप साइट के एप्लिकेशन पूल को कहते हैं BobsCatPicBlogतो:

icacls c: \ wwwroot \ mysite / अनुदान "IIS AppPool \ BobsCatPicBlog" :( CI) (OI) (M)

मुझे उम्मीद है कि इससे स्पष्ट बातें सामने आएंगी।

अपडेट करें:

मैं 2009 के इस उत्कृष्ट उत्तर से टकरा गया, जिसमें उपयोगी जानकारी का एक समूह है, अच्छी तरह से पढ़ने लायक है:

'स्थानीय प्रणाली' खाते और 'नेटवर्क सेवा' खाते के बीच अंतर?


एनोनिमस प्रमाणीकरण और ऐप पूल पहचान के लिए एक ही उपयोगकर्ता का उपयोग करने में सहमत न हों ... यदि आपको एक फ़ोल्डर में अनुमति लिखने की अनुमति देने की आवश्यकता है ....
giammin

1
@giammin - क्यों नहीं? जब तक आपके पास कोई विशेष मामला नहीं है, तब तक अनुप्रयोग पूल पहचान का उपयोग करना सबसे सुरक्षित दृष्टिकोण है, बशर्ते प्रत्येक साइट अपने स्वयं के अनुप्रयोग पूल में हो। "अधिकार के लिए अपील" करने के लिए नफरत है, लेकिन 15 वर्षों के लिए एक साझा वेब होस्ट इंजीनियर और सुरक्षा लड़का है, यह दृष्टिकोण IIS7 + पर एक नो-ब्रेनर है।
केव

@ केवल मुझे अनाम उपयोगकर्ता के लिए एक साइट पर
लिखित

1
IIS AppPool \ <name_of_apppool> का उपयोग करके आपके एप्लिकेशन पूल और भी अधिक विशिष्ट हो सकते हैं। संबंधित नोट पर, IIS एक्सप्रेस केवल IIS AppPool \ ASP.NET v4.0 के साथ काम करेगा क्योंकि ऐप पूल वर्चुअल खाते नहीं बनाए गए हैं।
केविन्दुब

@ daub815 - IIS एक्सप्रेस अलग तरीके से काम करता है क्योंकि इसका उद्देश्य आपके विंडोज लॉगिन और स्टार्टअप के तहत चलना था और विकसित होने और डिबगिंग के दौरान आवश्यकतानुसार बंद हो जाना। वास्तव में यह वास्तव में पूर्ण फैट आईआईएस अनुप्रयोग पूल या बुनियादी ढांचे पर निर्भरता का उपयोग नहीं करता है या नहीं करता है। IIS एक्सप्रेस का इरादा डेवलपर्स को वास्तविक व्यवहार के समान व्यवहार, स्वाद और विन्यास के रूप में देना था क्योंकि वीएस का खिलौना वेब सर्वर गंभीर रूप से सीमित था ...
केव
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.