ขณะเข้าถึงบริการที่ใช้เครือข่ายร่วมกันบนเซิร์ฟเวอร์ระดับกลาง ผู้ใช้จะได้รับพร้อมท์สำหรับข้อมูลประจำตัว และในที่สุดก็พบข้อผิดพลาดในการปฏิเสธการเข้าถึง ในโพสต์ของวันนี้ เราจะนำเสนอสถานการณ์สองสามกรณี ระบุสาเหตุ จากนั้นให้วิธีแก้ไขปัญหาชั่วคราวที่เป็นไปได้สำหรับสาเหตุที่การมอบหมายที่จำกัดสำหรับ CIFS ล้มเหลวด้วย ACCESS_DENIED เกิดข้อผิดพลาดใน Windows 10
ระบบไฟล์อินเทอร์เน็ตทั่วไป (CIFS) เป็นโปรโตคอลการแชร์ไฟล์ที่มีกลไกเปิดและข้ามแพลตฟอร์มสำหรับการร้องขอไฟล์และบริการของเซิร์ฟเวอร์เครือข่าย CIFS อิงตามเวอร์ชันปรับปรุงของโปรโตคอล Server Message Block (SMB) ของ Microsoft สำหรับการแชร์ไฟล์ทางอินเทอร์เน็ตและอินทราเน็ต
การมอบหมายที่จำกัดสำหรับ CIFS ล้มเหลวใน Windows
คุณอาจพบปัญหานี้หากผู้ใช้ได้รับพร้อมท์ให้ใส่ข้อมูลประจำตัว และการเข้าถึงล้มเหลวในที่สุดโดยมีข้อผิดพลาดในการเข้าถึงถูกปฏิเสธโดยอิงจากสามสถานการณ์ต่อไปนี้
สถานการณ์ที่ 1
- เว็บไซต์ IIS ได้รับการตั้งค่าด้วยโฮมไดเร็กทอรีที่ชี้ไปที่การแชร์ระยะไกลโดยใช้การตรวจสอบสิทธิ์แบบพาส-ทรูและการมอบหมายที่จำกัดซึ่งกำหนดค่าไว้สำหรับ CIFS
- กลุ่มแอปพลิเคชัน IIS ที่เข้าถึงการแชร์นั้นทำงานภายใต้ข้อมูลประจำตัวของบัญชีบริการ
- บัญชีโดเมนเชื่อถือได้สำหรับการมอบสิทธิ์สำหรับบริการ CIFS บนเซิร์ฟเวอร์ไฟล์
สถานการณ์ที่ 2
- เว็บแอปกำลังพยายามเข้าถึงเซิร์ฟเวอร์ไฟล์ในฐานะผู้ใช้
- กลุ่มแอปพลิเคชัน IIS ที่เข้าถึงซึ่งใช้ร่วมกันนั้นทำงานภายใต้ข้อมูลประจำตัวของบัญชีบริการ บัญชีโดเมนเชื่อถือได้สำหรับการมอบสิทธิ์สำหรับบริการ CIFS บนไฟล์เซิร์ฟเวอร์
- การกำหนดค่าการมอบหมายที่จำกัดสำหรับ CIFS ได้รับการกำหนดค่าในบัญชีบริการสำหรับเซิร์ฟเวอร์ไฟล์
สถานการณ์ที่ 3
- แอปพลิเคชันฝั่งเซิร์ฟเวอร์ที่เข้าถึงได้จากไคลเอ็นต์กำลังเข้าถึงการแชร์ระยะไกลในฐานะผู้ใช้
- แอปพลิเคชันฝั่งเซิร์ฟเวอร์กำลังทำงานภายใต้บริบทของบัญชีบริการ
- บัญชีบริการเชื่อถือได้สำหรับการมอบหมายและกำหนดค่าสำหรับการมอบสิทธิ์ CIFS สำหรับไฟล์เซิร์ฟเวอร์
มีการระบุว่าเกิดปัญหาระหว่าง MrxSmb 2.0 และ Kerberos เมื่อมีการมอบหมายที่จำกัด
ในการแก้ไขปัญหานี้ Microsoft มีวิธีแก้ปัญหาชั่วคราวสองวิธี
วิธีแก้ปัญหา 1
ใช้บัญชีเครื่องแทนบัญชีบริการเป็นข้อมูลประจำตัวสำหรับแอปพลิเคชันที่จะดำเนินการมอบหมายที่จำกัดสำหรับ CIFS กำหนดค่าการมอบหมายที่มีข้อจำกัดเมื่อระดับการทำงานของโดเมนคือ Windows Server 2003, Windows Server 2008 หรือ Windows Server 2008 R2
ในการดำเนินการนี้บนตัวควบคุมโดเมนสำหรับโดเมนเว็บเซิร์ฟเวอร์ของคุณ ให้ทำดังต่อไปนี้:
- คลิก เริ่ม> เครื่องมือการดูแลระบบ> ผู้ใช้ Active Directory และคอมพิวเตอร์ .
- ขยายโดเมน แล้วขยายโฟลเดอร์คอมพิวเตอร์
- ในบานหน้าต่างด้านขวา ให้คลิกขวาที่ชื่อคอมพิวเตอร์สำหรับเว็บเซิร์ฟเวอร์ เลือก คุณสมบัติ แล้วคลิก การมอบสิทธิ์ แท็บ
- เลือก เชื่อถือคอมพิวเตอร์เครื่องนี้สำหรับการมอบสิทธิ์ให้กับบริการที่ระบุเท่านั้น ช่องทำเครื่องหมาย
- ตรวจสอบให้แน่ใจว่า ใช้ Kerberos เท่านั้น ถูกเลือก จากนั้นคลิก ตกลง .
- คลิกปุ่ม เพิ่ม .
- ในกล่องโต้ตอบ "เพิ่มบริการ" ให้คลิก ผู้ใช้หรือคอมพิวเตอร์ แล้วเรียกดูหรือป้อนชื่อเซิร์ฟเวอร์ไฟล์ที่จะรับข้อมูลรับรองของผู้ใช้จาก IIS
- คลิก ตกลง .
- ในรายการ Available Services ให้เลือกบริการ CIFS
- คลิก ตกลง .
วิธีแก้ปัญหา 2
วิธีแก้ปัญหานี้ไม่แนะนำ เนื่องจากต้องใช้การมอบสิทธิ์โปรโตคอลการตรวจสอบสิทธิ์ในบัญชีคอมพิวเตอร์ หาก ใช้โปรโตคอลการตรวจสอบสิทธิ์ใดๆ เลือกตัวเลือกนี้แล้ว บัญชีกำลังใช้การมอบหมายที่มีข้อจำกัดพร้อมการเปลี่ยนโปรโตคอล
หากคุณต้องใช้ข้อมูลประจำตัวของแอปพลิเคชันเป็นบัญชีบริการและ/หรือบัญชีโดเมน ให้ทำดังต่อไปนี้:
ขั้นตอนที่ 1
- คลิก เริ่ม > เครื่องมือการดูแลระบบ> ผู้ใช้ Active Directory และคอมพิวเตอร์ .
- ขยายโดเมน แล้วขยายโฟลเดอร์คอมพิวเตอร์
- ในบานหน้าต่างด้านขวา ให้คลิกขวาที่ชื่อคอมพิวเตอร์สำหรับเว็บเซิร์ฟเวอร์ เลือก คุณสมบัติ แล้วคลิก การมอบสิทธิ์ แท็บ
- เลือก เชื่อถือคอมพิวเตอร์เครื่องนี้สำหรับการมอบหมายบริการที่ระบุ ช่องทำเครื่องหมายเท่านั้น
- ตรวจสอบให้แน่ใจว่า ใช้โปรโตคอลการตรวจสอบสิทธิ์ ถูกเลือกไว้
- คลิก ตกลง .
- คลิกปุ่ม เพิ่ม .
- ในกล่องโต้ตอบ "เพิ่มบริการ" ให้คลิก ผู้ใช้หรือคอมพิวเตอร์ แล้วเรียกดูหรือป้อนชื่อของไฟล์เซิร์ฟเวอร์ที่จะได้รับข้อมูลประจำตัวของผู้ใช้จาก IIS
- คลิก ตกลง .
- ในรายการ Available Services ให้เลือก บริการ CIFS .
- คลิก ตกลง .
ขั้นตอนที่ 2
- ในบานหน้าต่างด้านซ้าย ให้ขยายโฟลเดอร์ Users
- ในบานหน้าต่างด้านขวา ให้คลิกขวาที่บัญชีบริการที่เป็นข้อมูลประจำตัวของกลุ่มแอปพลิเคชัน เลือก คุณสมบัติ แล้วคลิก การมอบสิทธิ์ แท็บ
- เลือก เชื่อถือคอมพิวเตอร์เครื่องนี้สำหรับการมอบสิทธิ์ให้กับบริการที่ระบุเท่านั้น ช่องทำเครื่องหมาย
- ตรวจสอบให้แน่ใจว่า ใช้ Kerberos เท่านั้น ถูกเลือกไว้
- คลิก ตกลง .
- คลิกปุ่ม เพิ่ม .
- ในกล่องโต้ตอบเพิ่มบริการ ให้คลิก ผู้ใช้หรือคอมพิวเตอร์ แล้วเรียกดูหรือป้อนชื่อของไฟล์เซิร์ฟเวอร์ที่จะได้รับข้อมูลประจำตัวของผู้ใช้จาก IIS
- คลิก ตกลง .
- ในรายการ Available Services ให้เลือก บริการ CIFS .
- คลิก ตกลง .
หวังว่าโพสต์นี้จะช่วยได้