โฮสต์เสมือนส่วนใหญ่ได้ปิดการใช้งานส่วนประกอบมาตรฐานของ ASP: FileSystemObject เนื่องจากส่วนประกอบนี้ทำให้ ASP มีความสามารถในการเข้าถึงระบบไฟล์ที่ทรงพลัง และสามารถอ่าน เขียน คัดลอก ลบ เปลี่ยนชื่อ ฯลฯ ไฟล์ใด ๆ บนฮาร์ดดิสก์เซิร์ฟเวอร์ แน่นอนว่าสามารถทำได้เฉพาะใน Windows NT/2000 โดยใช้การตั้งค่าเริ่มต้น) อย่างไรก็ตาม หลังจากปิดใช้งานส่วนประกอบนี้ ผลที่ตามมาคือ ASP ทั้งหมดที่ใช้ส่วนประกอบนี้จะไม่สามารถรันและไม่สามารถตอบสนองความต้องการของลูกค้าได้
จะอนุญาตส่วนประกอบ FileSystemObject ได้อย่างไรโดยไม่ส่งผลกระทบต่อความปลอดภัยของเซิร์ฟเวอร์ (นั่นคือผู้ใช้โฮสต์เสมือนที่แตกต่างกันไม่สามารถใช้ส่วนประกอบนี้เพื่ออ่านและเขียนไฟล์ของบุคคลอื่น) ที่นี่ฉันแนะนำวิธีที่ฉันได้รับในการทดลอง ต่อไปนี้ใช้ Windows 2000 Server เป็นตัวอย่างในการแสดง
เปิดตัวจัดการทรัพยากรบนเซิร์ฟเวอร์ คลิกขวาที่อักษรชื่อไดรฟ์ของแต่ละพาร์ติชันฮาร์ดดิสก์หรือโวลุ่ม เลือก "คุณสมบัติ" ในเมนูป๊อปอัป เลือกแท็บ "ความปลอดภัย" จากนั้นคุณจะเห็นว่าบัญชีใดที่สามารถเข้าถึงสิ่งนี้ได้ พาร์ติชั่น (ระดับเสียง) และสิทธิ์การเข้าถึง หลังจากการติดตั้งเริ่มต้น "ทุกคน" จะปรากฏขึ้นพร้อมกับสิทธิ์การควบคุมทั้งหมด คลิก "เพิ่ม" เพิ่ม "ผู้ดูแลระบบ" "ผู้ดำเนินการสำรอง" "ผู้ใช้ระดับสูง" "ผู้ใช้" และกลุ่มอื่น ๆ และให้ "การควบคุมทั้งหมด" หรือการอนุญาตที่เกี่ยวข้อง ระวังอย่าให้กลุ่ม "แขก" บัญชี " IUSR_machine name" มีสิทธิ์ใดๆ จากนั้นลบกลุ่ม "ทุกคน" ออกจากรายการ เพื่อให้เฉพาะกลุ่มที่ได้รับอนุญาตและผู้ใช้เท่านั้นที่สามารถเข้าถึงพาร์ติชันฮาร์ดดิสก์นี้ได้ เมื่อดำเนินการ ASP จะเข้าถึงฮาร์ดดิสก์ในชื่อ "IUSR_machine" ซึ่งไม่ได้ให้ไว้ที่นี่ , ASP จะไม่สามารถอ่านและเขียนไฟล์บนฮาร์ดดิสก์ได้
สิ่งที่คุณต้องทำคือตั้งค่าบัญชีผู้ใช้แยกต่างหากสำหรับผู้ใช้โฮสต์เสมือนแต่ละราย จากนั้นกำหนดไดเร็กทอรีให้กับแต่ละบัญชีเพื่อให้สามารถควบคุมได้เต็มรูปแบบ
ดังแสดงในรูปด้านล่าง เปิด "การจัดการคอมพิวเตอร์" → "ผู้ใช้และกลุ่มภายใน" → "ผู้ใช้" คลิกขวาที่เมาส์ในคอลัมน์ด้านขวา และเลือก "ผู้ใช้ใหม่" ในเมนูป๊อปอัป:
ในหน้าต่างป๊อปอัป "ผู้ใช้ใหม่" ให้ป้อน "ชื่อผู้ใช้", "ชื่อเต็ม", "คำอธิบาย", "รหัสผ่าน" และ "ยืนยันรหัสผ่าน" ตามความต้องการที่แท้จริง และเพิ่ม "ผู้ใช้จะต้องเปลี่ยนรหัสผ่านในครั้งต่อไป เวลาที่เข้าสู่ระบบ" ก่อน "ผู้ใช้ต้องเปลี่ยนรหัสผ่านในครั้งต่อไปที่เขาเข้าสู่ระบบ" ลบเครื่องหมายถูกออกและเลือก "ผู้ใช้ไม่สามารถเปลี่ยนรหัสผ่าน" และ "รหัสผ่านไม่มีวันหมดอายุ" ตัวอย่างนี้คือการสร้างบัญชีในตัว "IUSR_VHOST1" สำหรับผู้ใช้โฮสต์เสมือนตัวแรกในการเข้าถึงบริการข้อมูลอินเทอร์เน็ตโดยไม่ระบุชื่อ นั่นคือเมื่อไคลเอนต์ทั้งหมดเข้าถึงโฮสต์เสมือนนี้โดยใช้ http://xxx.xxx.xxxx/ พวกเขาจะใช้บัญชีนี้เข้าถึงได้โดยการระบุตัวตน หลังจากป้อนข้อมูลเสร็จแล้วให้คลิก "สร้าง" คุณสามารถสร้างผู้ใช้ได้หลายคนตามความต้องการที่แท้จริง และคลิก "ปิด" หลังจากการสร้าง:
เมื่อผู้ใช้ที่สร้างขึ้นใหม่ปรากฏในรายการบัญชีแล้ว ให้ดับเบิลคลิกบัญชีในรายการเพื่อตั้งค่าเพิ่มเติม:
ในกล่องโต้ตอบคุณสมบัติป๊อปอัป "IUSR_VHOST1" (นั่นคือบัญชีใหม่ที่เพิ่งสร้าง) ให้คลิกแท็บ "เป็นของ":
บัญชีที่สร้างขึ้นใหม่เป็นของกลุ่ม "ผู้ใช้" โดยค่าเริ่มต้น เลือกกลุ่มและคลิก "ลบ":
สิ่งที่ปรากฏตอนนี้ดังภาพด้านล่าง ในเวลานี้ให้คลิก "เพิ่ม":
ค้นหา "แขก" ในกล่องโต้ตอบป๊อปอัป "เลือกกลุ่ม" คลิก "เพิ่ม" กลุ่มนี้จะปรากฏในกล่องข้อความด้านล่าง จากนั้นคลิก "ตกลง": [www.knowsky.com]
สิ่งที่ปรากฏดังแสดงในรูปด้านล่าง คลิก "ตกลง" เพื่อปิดกล่องโต้ตอบนี้:
เปิด "Internet Information Services" และเริ่มตั้งค่าโฮสต์เสมือน ในตัวอย่างนี้ เราใช้การตั้งค่า "First Virtual Host" เป็นตัวอย่าง
กล่องโต้ตอบ "คุณสมบัติโฮสต์เสมือนแรก" ปรากฏขึ้น จากกล่องโต้ตอบ คุณจะเห็นว่าผู้ใช้โฮสต์เสมือนใช้โฟลเดอร์ "F:VHOST1":
ตอนนี้ให้ข้ามกล่องโต้ตอบ "คุณสมบัติโฮสต์เสมือนแรก" สลับไปที่ "Explorer" ค้นหาโฟลเดอร์ "F:VHOST1" คลิกขวา เลือก "คุณสมบัติ" → แท็บ "ความปลอดภัย" ในเวลานี้ คุณจะเห็นว่า การตั้งค่าความปลอดภัยเริ่มต้นของโฟลเดอร์คือ "ทุกคน" เต็มรูปแบบ (เนื้อหาที่แสดงไม่เหมือนกันทุกประการขึ้นอยู่กับสถานการณ์) ขั้นแรก ให้เปลี่ยน "อนุญาตให้มีการเผยแพร่สิทธิ์ที่สืบทอดจากผู้ปกครองไปยังออบเจ็กต์" ที่ด้านล่าง ลบเครื่องหมายถูก:
ในขณะนี้ คำเตือน "ความปลอดภัย" ดังที่แสดงด้านล่างจะปรากฏขึ้น คลิก "ลบ":
ในขณะนี้ กลุ่มและผู้ใช้ทั้งหมดในแท็บความปลอดภัยจะถูกล้าง (หากไม่ล้าง โปรดใช้ "ลบ" เพื่อล้าง) จากนั้นคลิกปุ่ม "เพิ่ม"
เพิ่ม "ผู้ดูแลระบบ" ดังที่แสดงในภาพและบัญชีใหม่ "IUSR_VHOST1" ที่สร้างขึ้นก่อนหน้านี้ ซึ่งจะให้สิทธิ์ในการควบคุมเต็มรูปแบบ คุณยังสามารถเพิ่มกลุ่มหรือผู้ใช้อื่นได้ตามความต้องการที่แท้จริง แต่ต้องแน่ใจว่าไม่ได้เพิ่ม "แขก" กลุ่ม "IUSR_machine name" และบัญชีการเข้าถึงที่ไม่ระบุชื่อเหล่านี้ถูกเพิ่มแล้ว!
จากนั้นสลับไปที่กล่องโต้ตอบ "คุณสมบัติโฮสต์เสมือนแรก" ที่เปิดไว้ก่อนหน้านี้ เปิดแท็บ "ความปลอดภัยของไดเรกทอรี" แล้วคลิก "แก้ไข" ของการเข้าถึงแบบไม่ระบุชื่อและการควบคุมการรับรองความถูกต้อง:
ในกล่องป๊อปอัป "วิธีการยืนยัน" (ดังที่แสดงด้านล่าง) คลิก "แก้ไข":
"บัญชีผู้ใช้ที่ไม่ระบุชื่อ" ปรากฏขึ้น ค่าเริ่มต้นคือ "IUSR_Machine Name" คลิก "เรียกดู":
ในกล่องโต้ตอบ "เลือกผู้ใช้" ค้นหาบัญชีใหม่ "IUSR_VHOST1" ที่สร้างขึ้นก่อนหน้านี้ และดับเบิลคลิก:
ในขณะนี้ ชื่อผู้ใช้ที่ไม่ระบุชื่อมีการเปลี่ยนแปลง ในกล่องรหัสผ่าน ให้ป้อนรหัสผ่านที่ตั้งไว้สำหรับบัญชีเมื่อคุณสร้างไว้ก่อนหน้านี้:
ตกลง เสร็จแล้ว คลิกตกลง เพื่อปิดกล่องโต้ตอบเหล่านี้
หลังจากการตั้งค่านี้ ผู้ใช้ "โฮสต์เสมือนแรก" ที่ใช้คอมโพเนนต์ FileSystemObject ของ ASP สามารถเข้าถึงเนื้อหาภายใต้ไดเร็กทอรีของตนเองเท่านั้น: F:VHOST1. เมื่อพยายามเข้าถึงเนื้อหาอื่น ข้อความแสดงข้อผิดพลาด เช่น "ไม่มีสิทธิ์" จะปรากฏขึ้น . "ฮาร์ดดิสก์ไม่พร้อม", "ข้อผิดพลาดภายในเซิร์ฟเวอร์ 500" และข้อความแสดงข้อผิดพลาดอื่น ๆ ปรากฏขึ้น
อีกอย่าง: หากผู้ใช้ต้องการอ่านความจุพาร์ติชันของฮาร์ดดิสก์และหมายเลขซีเรียลของฮาร์ดดิสก์ การตั้งค่าดังกล่าวจะทำให้ไม่สามารถอ่านได้ หากคุณต้องการอนุญาตให้อ่านเนื้อหาที่เกี่ยวข้องกับพาร์ติชั่นทั้งหมด โปรดคลิกขวาที่พาร์ติชั่น (วอลุ่ม) ของฮาร์ดดิสก์ เลือก "คุณสมบัติ" → "ความปลอดภัย" เพิ่มบัญชีของผู้ใช้รายนี้ลงในรายการ และมอบให้ที่ สิทธิ์ "อ่าน" "อย่างน้อยที่สุด เนื่องจากไดเร็กทอรีย่อยภายใต้วอลุ่มนี้ได้รับการตั้งค่าเป็น "ห้ามการเผยแพร่สิทธิ์ที่สืบทอดจากผู้ปกครองไปยังออบเจ็กต์นี้" การตั้งค่าสิทธิ์ของไดเร็กทอรีย่อยต่อไปนี้จะไม่ได้รับผลกระทบ