การเข้าถึงถูกปฏิเสธ - การมอบหมายที่จำกัดสำหรับ CIFS ล้มเหลว

ขณะเข้าถึงบริการที่ใช้เครือข่ายร่วมกันบนเซิร์ฟเวอร์ระดับกลาง ผู้ใช้จะได้รับพร้อมท์สำหรับข้อมูลประจำตัว และในที่สุดก็พบข้อผิดพลาดในการปฏิเสธการเข้าถึง ในโพสต์ของวันนี้ เราจะนำเสนอสถานการณ์บางกรณี ระบุสาเหตุ จากนั้นให้วิธีแก้ปัญหาที่เป็นไปได้สำหรับปัญหาที่ว่าทำไมการมอบหมายที่มีข้อจำกัดสำหรับCIFS จึง ล้มเหลวด้วย ข้อผิดพลาด ACCESS_DENIEDใน Windows 10

Common Internet File System (CIFS)เป็นโปรโตคอลการแชร์ไฟล์ที่มีกลไกเปิดและข้ามแพลตฟอร์มสำหรับการร้องขอไฟล์เซิร์ฟเวอร์เครือข่ายและบริการ CIFS  อิงตามเวอร์ชันปรับปรุงของโปรโตคอล Server Message Block (SMB) ของ Microsoft สำหรับการแชร์ไฟล์ทางอินเทอร์เน็ต และอินทราเน็ต(Internet)

การมอบหมายที่จำกัดสำหรับ CIFS ล้มเหลวใน Windows

การมอบหมายที่จำกัดสำหรับCIFSล้มเหลวในWindows

คุณอาจพบปัญหานี้หากผู้ใช้ได้รับพร้อมท์สำหรับข้อมูลประจำตัว และการเข้าถึงล้มเหลวในที่สุดโดยมีข้อผิดพลาดในการเข้าถึงถูกปฏิเสธโดยยึดตามสามสถานการณ์ต่อไปนี้

สถานการณ์ 1(Scenario 1)

  • เว็บไซต์IIS ได้รับการ ตั้งค่าด้วยโฮมไดเร็กทอรีที่ชี้ไปที่การแชร์ระยะไกลโดยใช้การตรวจสอบสิทธิ์แบบพาส-ทรูและการมอบหมายที่จำกัดซึ่งกำหนดค่าไว้สำหรับCIFS
  • การ เข้าถึงพูลแอปพลิเคชัน IISที่ใช้งานร่วมกันนั้นทำงานภายใต้ข้อมูลประจำตัวของบัญชีบริการ
  • บัญชีโดเมนเชื่อถือได้สำหรับการมอบสิทธิ์สำหรับ บริการ CIFSบนเซิร์ฟเวอร์ไฟล์

สถานการณ์ที่ 2(Scenario 2)

  • เว็บแอปกำลังพยายามเข้าถึงเซิร์ฟเวอร์ไฟล์ในฐานะผู้ใช้
  • กลุ่ม แอปพลิเคชัน IISที่เข้าถึงที่แชร์นั้นทำงานภายใต้ข้อมูลประจำตัวของบัญชีบริการ บัญชีโดเมนเชื่อถือได้สำหรับการมอบสิทธิ์สำหรับ บริการ CIFSบนเซิร์ฟเวอร์ไฟล์
  • การมอบหมายที่จำกัดซึ่งกำหนดค่าไว้สำหรับCIFSได้รับการกำหนดค่าในบัญชีบริการสำหรับเซิร์ฟเวอร์ไฟล์

สถานการณ์ 3(Scenario 3)

  • แอปพลิเคชันฝั่งเซิร์ฟเวอร์ที่เข้าถึงได้จากไคลเอ็นต์กำลังเข้าถึงการแชร์ระยะไกลในฐานะผู้ใช้
  • แอปพลิเคชันฝั่งเซิร์ฟเวอร์กำลังทำงานภายใต้บริบทของบัญชีบริการ
  • บัญชีบริการ(Service)เชื่อถือได้สำหรับการมอบหมายและกำหนดค่าสำหรับการ มอบหมาย CIFSสำหรับไฟล์เซิร์ฟเวอร์

สิ่งนี้ได้รับการระบุว่าเป็นปัญหาระหว่างMrxSmb 2.0และKerberosเมื่อมีการมอบหมายที่มีข้อจำกัด

ในการแก้ไขปัญหานี้Microsoftขอเสนอวิธีแก้ปัญหาชั่วคราวสองวิธี

วิธีแก้ปัญหา 1

ใช้บัญชีเครื่องแทนบัญชีบริการเป็นข้อมูลประจำตัวสำหรับแอปพลิเคชันที่จะดำเนินการมอบหมายที่จำกัดสำหรับCIFS กำหนดค่าการมอบหมายที่จำกัดเมื่อระดับการทำงานของโดเมนคือWindows Server 2003 , Windows Server 2008หรือ Windows Server 2008 R2

เมื่อต้องการทำเช่นนี้บนตัวควบคุมโดเมนสำหรับโดเมนเว็บเซิร์ฟเวอร์ของคุณ ให้ทำดังต่อไปนี้:

  • คลิกStart > Administrative Tools >  Active Directory Users and Computers(Active Directory Users and Computers)
  • ขยาย(Expand)โดเมนแล้วขยายโฟลเดอร์คอมพิวเตอร์(Computers)
  • ในบานหน้าต่างด้านขวา ให้คลิกขวาที่ชื่อคอมพิวเตอร์สำหรับเว็บเซิร์ฟเวอร์ เลือกPropertiesจากนั้นคลิก   แท็บDelegation
  • เลือกกล่อง  กาเครื่องหมายเชื่อถือคอมพิวเตอร์เครื่องนี้สำหรับการมอบหมายให้กับบริการที่ระบุเท่านั้น(Trust this computer for delegation to specified services only)
  • ตรวจสอบให้แน่ใจว่า  ได้เลือก Use Kerberos onlyแล้ว จากนั้นคลิก  OK
  • คลิก  ปุ่มเพิ่ม(Add button)
  • ใน   กล่องโต้ตอบ  เพิ่ม(Add) บริการ ให้คลิก (Services)ผู้ใช้ หรือ คอมพิวเตอร์(Users or Computers)จากนั้นเรียกดูหรือป้อนชื่อเซิร์ฟเวอร์ไฟล์ที่จะได้รับข้อมูลประจำตัวของผู้ใช้จากIIS
  • คลิก  ตกลง(OK) _
  • ในรายการ  Available Services  เลือก  บริการCIFS
  • คลิก  ตกลง(OK) _

วิธีแก้ปัญหา2

ไม่แนะนำ(not recommended)วิธีแก้ปัญหานี้เนื่องจากต้อง  ใช้(Use)การมอบหมายโปรโตคอลการรับรองความถูกต้องใด ๆ ในบัญชีคอมพิวเตอร์ หาก   เลือกตัวเลือกใช้โปรโตคอลการตรวจสอบสิทธิ์ใดๆ แสดงว่าบัญชีกำลังใช้การมอบหมายที่จำกัดพร้อมการเปลี่ยนโปรโตคอล(Use any authentication protocol)

หากคุณต้องใช้ข้อมูลประจำตัวของแอปพลิเคชันเป็นบัญชีบริการและ/หรือบัญชีโดเมน ให้ดำเนินการดังต่อไปนี้:

ขั้นตอนที่ 1(Step 1)

  • คลิกStartAdministrative Tools >  Active Directory Users and Computers(Active Directory Users and Computers)
  • ขยาย(Expand)โดเมนแล้วขยายโฟลเดอร์คอมพิวเตอร์(Computers)
  • ในบานหน้าต่างด้านขวา ให้คลิกขวาที่ชื่อคอมพิวเตอร์สำหรับเว็บเซิร์ฟเวอร์ เลือกPropertiesจากนั้นคลิก   แท็บDelegation
  • เลือกกล่อง  กาเครื่องหมาย เชื่อถือคอมพิวเตอร์เครื่องนี้สำหรับการมอบหมายให้กับบริการที่ระบุ(Trust this computer for delegation to specified services)เท่านั้น
  • ตรวจสอบให้แน่ใจว่า  ได้เลือก ใช้โปรโตคอลการรับรองความถูกต้องใดๆ(Use any authentication protocol)ไว้
  • คลิกตกลง(OK) _
  • คลิก  ปุ่มเพิ่ม(Add button)
  • ใน   กล่องโต้ตอบ  เพิ่ม(Add) บริการ ให้คลิก (Services)ผู้ใช้ หรือ คอมพิวเตอร์(Users or Computers)จากนั้นเรียกดูหรือป้อนชื่อเซิร์ฟเวอร์ไฟล์ที่จะได้รับข้อมูลประจำตัวของผู้ใช้จากIIS
  • คลิก  ตกลง(OK) _
  • ในรายการ  Available Services  ให้เลือกบริการCIFS(CIFS service)
  • คลิก  ตกลง(OK) _

ขั้นตอนที่ 2(Step 2)

  • ในบานหน้าต่างด้านซ้าย ให้ขยายโฟลเดอร์ผู้ใช้
  • ในบานหน้าต่างด้านขวา ให้คลิกขวาที่บัญชีบริการซึ่งเป็นข้อมูลประจำตัวของกลุ่มแอปพลิเคชัน เลือก  คุณสมบัติ(Properties)จากนั้นคลิก   แท็บ การ มอบหมาย(Delegation)
  • เลือกกล่อง  กาเครื่องหมายเชื่อถือคอมพิวเตอร์เครื่องนี้สำหรับการมอบหมายให้กับบริการที่ระบุเท่านั้น(Trust this computer for delegation to specified services only)
  • ตรวจสอบให้แน่ใจว่า  ได้เลือกใช้ Kerberos เท่านั้น(Use Kerberos only)
  • คลิกตกลง(OK) _
  • คลิก  ปุ่มเพิ่ม(Add button)
  • ใน กล่องโต้ตอบ  เพิ่ม(Add) บริการ ให้คลิก (Services)ผู้ใช้ หรือ คอมพิวเตอร์(Users or Computers)จากนั้นเรียกดูหรือป้อนชื่อเซิร์ฟเวอร์ไฟล์ที่จะได้รับข้อมูลประจำตัวของผู้ใช้จากIIS
  • คลิก  ตกลง(OK) _
  • ในรายการ  Available Services  ให้เลือกบริการCIFS(CIFS service)
  • คลิก  ตกลง(OK) _

หวังว่าโพสต์นี้จะช่วยได้(Hope this post helps.)



About the author

ฉันเป็น windows, ios, pdf, ข้อผิดพลาด, วิศวกรแกดเจ็ตที่มีประสบการณ์มากกว่า 10 ปี ฉันได้ทำงานกับแอปพลิเคชันและเฟรมเวิร์กคุณภาพสูงของ Windows มากมาย เช่น OneDrive for Business, Office 365 และอื่นๆ งานล่าสุดของฉันได้รวมการพัฒนาโปรแกรมอ่าน pdf สำหรับแพลตฟอร์ม windows และการทำงานเพื่อทำให้ข้อความแสดงข้อผิดพลาดชัดเจนยิ่งขึ้นสำหรับผู้ใช้ นอกจากนี้ ฉันได้มีส่วนร่วมในการพัฒนาแพลตฟอร์ม ios มาสองสามปีแล้ว และคุ้นเคยกับทั้งคุณสมบัติและลักษณะเฉพาะของมันมาก



Related posts