นั่นเป็นเพราะสิ่งเหล่านี้เป็นสองสิ่งที่แตกต่างกัน IIS_IUSRS เป็นกลุ่มสำหรับบัญชีกระบวนการ IIS คนทำงาน นี่หมายถึงตัวตนที่กลุ่มแอพพลิเคชั่นทำงาน IUSR เป็นข้อมูลเฉพาะตัวของผู้ใช้ที่ไม่ระบุชื่อ นั่นหมายความว่าข้อมูลประจำตัวที่ IIS เชื่อว่าเป็นผู้ใช้ที่เข้าถึงเว็บไซต์
ถึงแม้ว่าคุณจะไม่ได้พูดให้ฉันเดา - แอพนี้เป็นแอปคลาสสิคหรือ? (มิฉะนั้นถ้าเป็น. Net คุณจะต้องใช้การแอบอ้างบุคคลอื่น) ไม่ว่าจะด้วยวิธีใดสิ่งที่เกิดขึ้นคือทรัพยากรถูกเข้าถึงเป็นข้อมูลประจำตัวที่มีการเลียนแบบความหมายผู้ใช้ที่ไม่ระบุชื่อในกรณีของคุณหมายถึง IUSR นั่นคือเหตุผลที่คุณต้องให้สิทธิ์ ใน. Net หากคุณปิดการแอบอ้างบุคคลอื่นคุณจะพบว่า IIS_IUSRS จะเข้ามาเล่นตามที่คุณคาดหวัง ใน Classic ASP (และสำหรับไฟล์คงที่) คุณไม่มีทางเลือกการเลียนแบบจะเปิดใช้งานเสมอ "; ดังนั้นจึงเป็นข้อมูลประจำตัวของผู้ใช้ที่ใช้ไม่ใช่ข้อมูลประจำตัวของพูล ดังนั้นเนื่องจาก IIS_IUSRS สำหรับข้อมูลเฉพาะตัวของพูลจึงไม่อยู่ในการเล่น
แก้ไขหลังจาก OP เพิ่มข้อมูลเพิ่มเติม:
ง่ายต่อการสับสน IUSR และ IIS_IUSRS เนื่องจากชื่อของพวกเขา วิธีที่จะเห็นว่าพวกเขาแตกต่างกันคือการจำไว้ว่า IIS_IUSRS เป็นสิ่งทดแทนสำหรับ IIS_WPG ใน IIS6 ซึ่งเป็นกลุ่มกระบวนการของผู้ปฏิบัติงาน ในกลุ่มเหล่านี้คุณเพิ่มบัญชีที่คุณต้องการเรียกใช้พูลของคุณภายใต้ไม่ใช่ข้อมูลประจำตัวไม่ได้สิทธิ์ anon ควรจะ จำกัด มากขึ้น เช่น. บางครั้งคุณอาจต้องการใช้บัญชีโดเมนเพื่อเรียกใช้พูลสำหรับการมอบหมาย kerberos ไปยังทรัพยากรเครือข่ายอื่น ๆ จากนั้นคุณจะเพิ่มบัญชีบริการนั้นลงในกลุ่มนี้
เมื่อมีการเปิดใช้งานการเลียนแบบพูล / กระบวนการอ้างว่าเป็นผู้ใช้เนื่องจากถูกแจ้งให้ทราบ ในกรณีที่มีการรับรองความถูกต้อง (กรณีของคุณ) ผู้ใช้นั้นคือ IUSR ในกรณีของ windows auth ก็จะเป็น windows \ domain identity ของผู้ใช้ นี่คือเหตุผลที่คุณได้รับผลกระทบจากการเลียนแบบเนื่องจากกระบวนการต้องเปลี่ยนเป็นข้อมูลเฉพาะตัวอื่นสำหรับการเข้าถึงทรัพยากร
หากคุณใช้. NET และการพิสูจน์ตัวตนแบบไม่ระบุชื่อดังนั้นฉันไม่เห็นสาเหตุที่คุณจะเปิดใช้งานการแอบอ้างบุคคลอื่น ในกรณีที่คุณไม่ได้ใช้หรือไม่ต้องการการเลียนแบบคุณควรระวังเล่ห์เหลี่ยมบางอย่างในกรณีของ IIS7: คุณสามารถทำให้ IUSR ของคุณหายไปอย่างสมบูรณ์และยุติความสับสนทั้งหมด ฉันคิดว่าคุณต้องการเช่นนั้นและเป็นวิธีที่ฉันชอบเช่นกัน สิ่งที่คุณต้องทำคือการบอกให้นำมาใช้เป็นตัวตนว่ายน้ำเป็นตัวตนที่ไม่ระบุชื่อ
ดังนั้นหลังจากนี้คุณจะต้องจัดการกับกลุ่ม IIS_IUSRS เท่านั้น แต่อย่าสับสนนี่ยังไม่ได้หมายความว่าสองคนนี้เหมือนกัน! อาจเป็นไปได้ที่กระบวนการระบุตัวตนแทน IUSR แต่ไม่ใช่วิธีอื่น ๆ !
เคล็ดลับ IIS7 เพิ่มเติมที่ต้องระวัง: หากคุณดู IIS_IUSRS มันอาจว่างเปล่า นั่นเป็นเพราะข้อมูลประจำตัวพูลเสมือนของคุณจะถูกเพิ่มโดยอัตโนมัติเมื่อเริ่มพูลดังนั้นคุณไม่ต้องกังวลเกี่ยวกับสิ่งเหล่านี้
ตารางนี้ควรช่วยชี้แจงให้ดีขึ้นถึงวิธีพิจารณาตัวตนการดำเนินการเธรด:
ทรัพยากรการเข้าถึงตัวตนแบบไม่ระบุชื่อเข้าถึงเป็น
เปิดใช้งาน IUSR_computer ที่เปิดใช้งานใน IIS5 / 6 หรือ
IUSR ใน IIS7 หรือ
หากคุณเปลี่ยนบัญชีผู้ใช้ anon
ใน IIS สิ่งที่คุณตั้งไว้ที่นั่น
Enabled Disabled MYDOM \ MyName
ปิดใช้งานบริการ Authority \ Network ของ NT (เครือข่ายรวม)
ปิดใช้งานปิดใช้งานบริการ NT Authority \ Network ของ NT (พูลข้อมูลประจำตัว)