ตั้งค่าสิทธิ์ NTFS และสิทธิ์พิเศษ NTFS - สิทธิ์ระบบไฟล์สิทธิ์

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

ในระบบไฟล์ NTFS แต่ละไฟล์หรือโฟลเดอร์สามารถมีสิทธิ์ด้านความปลอดภัยดังต่อไปนี้:

  • การอ่าน— อนุญาตให้เรียกดูโฟลเดอร์และดูรายการไฟล์และโฟลเดอร์ย่อย ดูและเข้าถึงเนื้อหาไฟล์
  • บันทึก— อนุญาตให้เพิ่มไฟล์และโฟลเดอร์ย่อย เขียนข้อมูลลงในไฟล์
  • อ่านและดำเนินการ— อนุญาตให้เรียกดูโฟลเดอร์และดูรายการไฟล์และโฟลเดอร์ย่อย อนุญาตให้ดูและเข้าถึงเนื้อหาของไฟล์ เช่นเดียวกับการเปิดไฟล์ปฏิบัติการ
  • รายการเนื้อหาของโฟลเดอร์— อนุญาตให้เรียกดูโฟลเดอร์และดูเฉพาะรายการไฟล์และโฟลเดอร์ย่อย การอนุญาตนี้ไม่ได้ให้การเข้าถึงเนื้อหาของไฟล์!;
  • เปลี่ยน— อนุญาตให้ดูเนื้อหาและสร้างไฟล์และโฟลเดอร์ย่อย ลบโฟลเดอร์ อ่านและเขียนข้อมูลลงในไฟล์ ลบไฟล์
  • เข้าถึงได้เต็มรูปแบบ- อนุญาตให้ดูเนื้อหา รวมถึงการสร้าง แก้ไข และลบไฟล์และโฟลเดอร์ย่อย อ่านและเขียนข้อมูล และแก้ไขและลบไฟล์

สิทธิ์ที่ระบุไว้ข้างต้นเป็นสิทธิ์ขั้นพื้นฐาน สิทธิขั้นพื้นฐานประกอบด้วยสิทธิพิเศษ สิทธิ์เฉพาะคือสิทธิ์ที่มีรายละเอียดเพิ่มเติมซึ่งมาจากสิทธิ์ขั้นพื้นฐาน การใช้สิทธิพิเศษช่วยให้คุณมีความยืดหยุ่นอย่างมากในการกำหนดค่าสิทธิ์การเข้าถึง

รายการสิทธิ์การเข้าถึงไฟล์และโฟลเดอร์พิเศษ:

  • เรียกดูโฟลเดอร์/เรียกใช้ไฟล์— ช่วยให้สามารถนำทางผ่านโครงสร้างโฟลเดอร์เพื่อค้นหาไฟล์หรือโฟลเดอร์อื่น ๆ การดำเนินการของไฟล์
  • เนื้อหาโฟลเดอร์/การอ่านข้อมูล— อนุญาตให้ดูชื่อไฟล์หรือโฟลเดอร์ย่อยที่อยู่ในโฟลเดอร์ อ่านข้อมูลจากไฟล์
  • คุณสมบัติการอ่าน— อนุญาตให้ดูคุณสมบัติไฟล์หรือโฟลเดอร์เช่น “อ่านอย่างเดียว” และ “ซ่อน”;
  • การอ่านคุณสมบัติเพิ่มเติม— อนุญาตให้ดูคุณสมบัติเพิ่มเติมของไฟล์หรือโฟลเดอร์
  • การสร้างไฟล์/การเขียนข้อมูล— อนุญาตให้สร้างไฟล์ในโฟลเดอร์ (ใช้กับโฟลเดอร์เท่านั้น) ทำการเปลี่ยนแปลงไฟล์และเขียนทับเนื้อหาที่มีอยู่ (ใช้กับไฟล์เท่านั้น)
  • การสร้างโฟลเดอร์ / การเพิ่มข้อมูล— อนุญาตให้สร้างโฟลเดอร์ภายในโฟลเดอร์ (ใช้กับโฟลเดอร์เท่านั้น) เพิ่มข้อมูลที่ท้ายไฟล์ แต่ไม่เปลี่ยนแปลง ลบ หรือแทนที่ข้อมูลที่มีอยู่ (ใช้ได้กับไฟล์เท่านั้น)
  • คุณสมบัติการบันทึก— อนุญาตหรือห้ามการเปลี่ยนแปลงคุณสมบัติของไฟล์หรือโฟลเดอร์ เช่น “อ่านอย่างเดียว” และ “ซ่อน”
  • การเขียนคุณสมบัติเพิ่มเติม— อนุญาตหรือห้ามไม่ให้เปลี่ยนคุณสมบัติเพิ่มเติมของไฟล์หรือโฟลเดอร์
  • การลบโฟลเดอร์ย่อยและไฟล์— อนุญาตให้ลบโฟลเดอร์ย่อยและไฟล์แม้ว่าจะไม่มีสิทธิ์ "ลบ" (ใช้ได้กับโฟลเดอร์เท่านั้น)
  • การกำจัด— อนุญาตให้ลบไฟล์หรือโฟลเดอร์ หากไฟล์หรือโฟลเดอร์ไม่มีสิทธิ์ในการลบ วัตถุนั้นยังคงสามารถถูกลบได้หากโฟลเดอร์หลักมีสิทธิ์ในการลบโฟลเดอร์ย่อยและไฟล์
  • สิทธิ์ในการอ่าน- อนุญาตสิทธิ์การเข้าถึงการอ่านไฟล์หรือโฟลเดอร์ เช่น “Full Control”, “Read” และ “Write”;
  • การเปลี่ยนสิทธิ์— อนุญาตให้คุณเปลี่ยนสิทธิ์ในการเข้าถึงไฟล์หรือโฟลเดอร์ เช่น “Full Control”, “Read” และ “Write”;
  • การเปลี่ยนแปลงเจ้าของ— อนุญาตให้คุณเป็นเจ้าของไฟล์หรือโฟลเดอร์
  • การซิงโครไนซ์- อนุญาตให้เธรดต่างๆ รอไฟล์หรือโฟลเดอร์และซิงโครไนซ์กับเธรดอื่นที่อาจครอบครอง การอนุญาตนี้ใช้กับโปรแกรมที่ทำงานในโหมดมัลติเธรดที่มีหลายกระบวนการเท่านั้น

!!!สิทธิ์ขั้นพื้นฐานและสิทธิพิเศษทั้งหมดมีทั้งแบบอนุญาตและห้าม

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

ผลลัพธ์ของการใช้สิทธิ์ที่ชัดเจนและสืบทอดมาจะเป็นสิทธิ์ที่แท้จริงในโฟลเดอร์หรือไฟล์เฉพาะ มีข้อผิดพลาดมากมาย ตัวอย่างเช่น คุณมีโฟลเดอร์ที่คุณอนุญาตให้ผู้ใช้ "วาสยา" ลบไฟล์ได้ จากนั้นคุณจำได้ว่าในโฟลเดอร์นี้มีไฟล์สำคัญมากไฟล์หนึ่งที่ Vasya ไม่ควรลบไม่ว่าในกรณีใดก็ตาม คุณตั้งค่าการแบนอย่างชัดเจนในไฟล์สำคัญ (สิทธิ์การแบนพิเศษ "ลบ")- ดูเหมือนว่างานจะเสร็จสิ้นแล้วไฟล์ได้รับการปกป้องจากการลบอย่างชัดเจน และวาสยาก็เข้าไปในโฟลเดอร์อย่างใจเย็นและลบไฟล์ที่มีการป้องกันขั้นสูงนี้ ทำไม เนื่องจาก Vasya มีสิทธิ์ในการลบออกจากโฟลเดอร์หลัก ซึ่งในกรณีนี้จะมีลำดับความสำคัญ

พยายามอย่าใช้การกำหนดสิทธิ์ให้กับไฟล์โดยตรง

- พยายามกำหนดสิทธิ์ให้กับกลุ่มเท่านั้น ซึ่งช่วยลดความยุ่งยากในการดูแลระบบอย่างมาก Microsoft ไม่แนะนำให้กำหนดสิทธิ์ให้กับผู้ใช้เฉพาะราย อย่าลืมว่ากลุ่มสามารถรวมได้ไม่เพียงแต่ผู้ใช้เท่านั้น แต่ยังรวมถึงกลุ่มอื่นๆ ด้วย

ตัวอย่างเช่น. หากคอมพิวเตอร์รวมอยู่ในโดเมนกลุ่ม "ผู้ใช้โดเมน" จะถูกเพิ่มในกลุ่ม "ผู้ใช้" ในเครื่องโดยอัตโนมัติและกลุ่ม "ผู้ดูแลระบบโดเมน" จะถูกเพิ่มไปยังกลุ่ม "ผู้ดูแลระบบ" ในเครื่องโดยอัตโนมัติและตามลำดับการมอบหมายใด ๆ สิทธิ์โฟลเดอร์ให้กับกลุ่มผู้ใช้ภายใน คุณจะกำหนดสิทธิ์ให้กับผู้ใช้โดเมนทั้งหมดโดยอัตโนมัติ

อย่าท้อแท้หากทุกสิ่งที่อธิบายไว้ข้างต้นไม่ชัดเจนในทันที ตัวอย่างและ งานอิสระจะแก้ไขสถานการณ์โดยเร็ว!

มาดูข้อมูลเฉพาะกันดีกว่า

ฉันจะแสดงตัวอย่างทั้งหมดตามตัวอย่าง หน้าต่าง หน้าต่างประสบการณ์ ใน Windows 7 และสูงกว่า สาระสำคัญยังคงเหมือนเดิม มีเพียงหน้าต่างเพิ่มขึ้นเล็กน้อยเท่านั้น

ดังนั้น ในการกำหนดหรือเปลี่ยนแปลงสิทธิ์ให้กับไฟล์หรือแพ็ก คุณต้องคลิกขวา ไฟล์ที่ต้องการหรือโฟลเดอร์เลือกรายการเมนู "คุณสมบัติ"

ควรเปิดหน้าต่างที่มีบุ๊กมาร์ก "ความปลอดภัย"

หากไม่มีบุ๊กมาร์กดังกล่าว ให้ทำดังต่อไปนี้ เปิด Explorer จากนั้นเปิดเมนู "บริการ""คุณสมบัติของโฟลเดอร์..."

ในหน้าต่างที่เปิดขึ้น ให้ไปที่แท็บ "มุมมอง" และยกเลิกการเลือกตัวเลือก "ใช้การแชร์ไฟล์แบบง่ายๆ (แนะนำ)"

เพียงเท่านี้ คุณสมบัติทั้งหมดก็พร้อมให้คุณใช้งานแล้ว ระบบไฟล์เอ็นทีเอฟเอส

กลับมาที่บุ๊กมาร์ก "ความปลอดภัย".

ในหน้าต่างที่เปิดขึ้น เราจะมีข้อมูลมากมาย มีรายการอยู่ด้านบน "กลุ่มและผู้ใช้:"ซึ่งแสดงรายการผู้ใช้และกลุ่มทั้งหมดที่มีสิทธิ์เข้าถึงโฟลเดอร์นี้ (ลูกศร 1) รายการด้านล่างแสดงสิทธิ์สำหรับผู้ใช้/กลุ่มที่เลือก (ลูกศร 2) ในกรณีนี้คือระบบผู้ใช้ ใน รายการนี้การอนุญาต การอนุญาตพื้นฐานจะมองเห็นได้ โปรดทราบว่าในคอลัมน์ "อนุญาต"เครื่องหมายถูกเป็นสีจางและไม่สามารถแก้ไขได้ ซึ่งบ่งชี้ว่าสิทธิ์เหล่านี้สืบทอดมาจากโฟลเดอร์หลัก ในกรณีนี้อีกครั้ง สิทธิ์ทั้งหมดของผู้ใช้ระบบในโฟลเดอร์ "การทำงาน"ได้รับการสืบทอดมาจากโฟลเดอร์หลักโดยสมบูรณ์ และผู้ใช้ระบบมีสิทธิ์ทั้งหมด ( "การเข้าถึงเต็มรูปแบบ")

ไฮไลท์ในรายการ กลุ่มที่ต้องการหรือผู้ใช้เราสามารถดูสิทธิขั้นพื้นฐานของกลุ่มหรือผู้ใช้นั้นได้ โดยการเลือกผู้ใช้งาน “ผู้ใช้ทั่วไป ( [ป้องกันอีเมล]คุณจะเห็นว่าเขามีสิทธิที่ชัดเจนทั้งหมด

และนี่คือกลุ่ม "ผู้ใช้ (KAV-VM1\Users"มีสิทธิ์รวมกัน บางส่วนสืบทอดมาจากโฟลเดอร์หลัก (สี่เหลี่ยมสีเทาตรงข้าม "อ่านและดำเนินการ", "รายการเนื้อหาของโฟลเดอร์", "การอ่าน") และส่วนหนึ่งได้รับการกำหนดไว้อย่างชัดเจน - นี่คือสิทธิ์ "เปลี่ยน"และ "บันทึก"

!!!ความสนใจ. ให้ความสนใจกับชื่อผู้ใช้และกลุ่ม ความเกี่ยวข้องของกลุ่มหรือผู้ใช้จะระบุไว้ในวงเล็บ กลุ่มและผู้ใช้สามารถอยู่ในเครื่องได้ เช่น สร้างขึ้นโดยตรงบนคอมพิวเตอร์เครื่องนี้หรืออาจเป็นโดเมนก็ได้ ในกรณีนี้คือกลุ่ม “ผู้ดูแลระบบ”ในพื้นที่เนื่องจากรายการในวงเล็บระบุชื่อของคอมพิวเตอร์ KAV-VM1 และหลังเครื่องหมายทับจะมีชื่อของกลุ่มนั้นเอง ตรงกันข้ามกับผู้ใช้ "ผู้ใช้ทั่วไป"เป็นผู้ใช้โดเมน btw.by ซึ่งระบุด้วยบันทึกชื่อเต็ม [ป้องกันอีเมล]

บ่อยครั้งเมื่อดูหรือเปลี่ยนสิทธิ์คุณสามารถ จำกัด ตัวเองให้อยู่ในหน้าต่างที่มีสิทธิ์พื้นฐานได้ แต่บางครั้งก็ยังไม่เพียงพอ จากนั้นคุณสามารถเปิดหน้าต่างที่คุณสามารถเปลี่ยนสิทธิ์เฉพาะ เปลี่ยนเจ้าของ หรือดูสิทธิ์ปัจจุบันได้ วิธีการทำเช่นนี้? คลิกที่ปุ่ม "นอกจากนี้"- หน้าต่างนี้จะเปิดขึ้น

ในหน้าต่างนี้ในตาราง “องค์ประกอบการอนุญาต”แสดงรายการผู้ใช้ทั้งหมดที่มีสิทธิ์ในการ โฟลเดอร์นี้- เช่นเดียวกับการอนุญาตพื้นฐานเราเน้น ผู้ใช้ที่ต้องการหรือจัดกลุ่มแล้วกดปุ่ม "เปลี่ยน"- หน้าต่างจะเปิดขึ้นเพื่อแสดงสิทธิ์พิเศษทั้งหมดสำหรับผู้ใช้หรือกลุ่มที่เลือก

เช่นเดียวกับสิทธิ์พื้นฐาน สิทธิ์พิเศษที่สืบทอดมาจากโฟลเดอร์หลักจะปรากฏเป็นสีเทาจางและจะไม่สามารถแก้ไขได้

ดังที่คุณอาจสังเกตเห็นแล้วว่า มีหลายบรรทัดในหน้าต่างการอนุญาตพิเศษสำหรับผู้ใช้หรือกลุ่มบางกลุ่ม


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

ตัวอย่างการมอบสิทธิ

- ตัวอย่างทั้งหมดจะดำเนินไปพร้อมกับความซับซ้อนที่เพิ่มขึ้น อ่านและทำความเข้าใจตามลำดับเดียวกับที่ปรากฏในข้อความ ฉันจะละเว้นการกระทำที่คล้ายกันในตัวอย่างต่อๆ ไปเพื่อลดปริมาณข้อความ

ตัวอย่างที่ 1: การให้สิทธิ์การเข้าถึงโฟลเดอร์แบบอ่านอย่างเดียวแก่กลุ่มความปลอดภัยเฉพาะที่

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

ดังนั้น. เราได้สร้างกลุ่มรักษาความปลอดภัยในพื้นที่ที่เรียกว่า "เพื่อนร่วมงานเพื่อการอ่าน"


ซึ่งเราได้เพิ่มผู้ใช้ที่จำเป็นทั้งหมดเข้าไปแล้ว

ตอนนี้ฉันกำลังตั้งค่าสิทธิ์การเข้าถึงโฟลเดอร์ ในตัวอย่างนี้ ฉันจะให้สิทธิ์การเข้าถึงแก่กลุ่มที่สร้างขึ้น “ให้เพื่อนร่วมงานได้อ่าน”ไปยังโฟลเดอร์ "รูปถ่าย".

คลิกขวาที่โฟลเดอร์ "รูปถ่าย"และเลือกรายการเมนู "คุณสมบัติ"ให้ไปที่บุ๊กมาร์ก "ความปลอดภัย".

ในบุ๊กมาร์กที่เปิดอยู่ "ความปลอดภัย"การอนุญาตโฟลเดอร์ปัจจุบันจะปรากฏขึ้น "รูปถ่าย"- เมื่อเลือกกลุ่มและผู้ใช้ในรายการ คุณจะเห็นว่าสิทธิ์ของโฟลเดอร์นี้สืบทอดมาจากโฟลเดอร์หลัก (เครื่องหมายถูกสีเทาในคอลัมน์ "อนุญาต"- ในสถานการณ์นี้ ฉันไม่ต้องการให้ใครก็ตามนอกเหนือจากกลุ่มที่สร้างขึ้นใหม่สามารถเข้าถึงโฟลเดอร์ได้ "รูปถ่าย".

ดังนั้นฉันต้องลบการสืบทอดสิทธิ์และลบผู้ใช้และกลุ่มที่ไม่จำเป็นออกจากรายการ ฉันกดปุ่ม "นอกจากนี้"- ในหน้าต่างที่เปิดขึ้นมา


ฉันยกเลิกการทำเครื่องหมายที่ช่อง “สืบทอดสิทธิ์ที่ใช้กับวัตถุลูกจากวัตถุหลัก โดยเพิ่มไปยังที่ระบุไว้อย่างชัดเจนในหน้าต่างนี้” - นี่จะเป็นการเปิดหน้าต่างที่ฉันสามารถเลือกได้ว่าจะทำอย่างไรกับสิทธิ์ที่สืบทอดในปัจจุบัน

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

หลังจากที่ฉันคลิก "สำเนา",ฉันกลับไปที่หน้าต่างก่อนหน้าอีกครั้ง เฉพาะคราวนี้โดยไม่ได้เลือกช่องทำเครื่องหมายไว้

ฉันกด "ตกลง"และกลับสู่หน้าต่างสิทธิ์พื้นฐาน สิทธิ์ทั้งหมดพร้อมสำหรับการแก้ไขแล้ว ฉันต้องออกจากการอนุญาตสำหรับกลุ่มท้องถิ่น “ผู้ดูแลระบบ”และผู้ใช้ ระบบและลบส่วนที่เหลือ ฉันเลือกผู้ใช้และกลุ่มที่ไม่จำเป็นทีละคนแล้วคลิกปุ่ม "ลบ".

ส่งผลให้ผมได้ภาพนี้มา

ตอนนี้สิ่งที่ฉันต้องทำคือเพิ่มกลุ่ม “ให้เพื่อนร่วมงานได้อ่าน”และกำหนดสิทธิ์การอ่านให้กับกลุ่มนี้

ฉันกดปุ่ม "เพิ่ม"และในหน้าต่างการเลือกมาตรฐาน ฉันเลือกกลุ่มท้องถิ่น “ให้เพื่อนร่วมงานได้อ่าน”- วิธีทำงานกับหน้าต่างการเลือกได้อธิบายไว้โดยละเอียดในบทความ

จากการดำเนินการทั้งหมด ฉันจึงเพิ่มกลุ่ม "เพื่อนร่วมงานเพื่อการอ่าน" ลงในรายการสิทธิ์พื้นฐาน และสิทธิ์สำหรับกลุ่มนี้จะถูกตั้งค่าโดยอัตโนมัติ "อ่านและดำเนินการ", "รายการเนื้อหาของโฟลเดอร์", "การอ่าน".

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

ตัวอย่างที่ 2: ให้ผู้ใช้เข้าถึงโฟลเดอร์ย่อยในโฟลเดอร์เป็นการส่วนตัว

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

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

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


และไปที่หน้าต่างสิทธิพิเศษที่ฉันเลือกกลุ่ม “ให้เพื่อนร่วมงานได้อ่าน”และกดปุ่ม "เปลี่ยน"

ในหน้าต่างที่เปิดขึ้น ฉันเปลี่ยนกฎการสืบทอด แทนที่จะเป็นค่าในช่อง "นำมาใช้:"ฉันเลือกค่า "สำหรับโฟลเดอร์นี้เท่านั้น".

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

เป็นผลให้ผู้ใช้จะสามารถเข้าถึงโฟลเดอร์ได้ "รูปถ่าย"แต่พวกเขาจะไม่สามารถเข้าไปในโฟลเดอร์ย่อยเพิ่มเติมได้!

ในหน้าต่างสิทธิพิเศษ คลิก "ตกลง"และไปที่หน้าต่างก่อนหน้า ซึ่งตอนนี้อยู่ในคอลัมน์แล้ว "นำไปใช้กับ"ตรงข้ามกลุ่ม “ให้เพื่อนร่วมงานได้อ่าน”คุ้มค่าคุ้มราคา "สำหรับโฟลเดอร์นี้เท่านั้น".

คลิกในหน้าต่างทั้งหมด "ตกลง"และเราก็ออกไป

ทั้งหมด. ตอนนี้สิ่งที่เหลืออยู่คือการกำหนดค่าสิทธิ์ส่วนบุคคลสำหรับแต่ละโฟลเดอร์ย่อย จะต้องดำเนินการนี้สำหรับแต่ละโฟลเดอร์ย่อย สิทธิ์เป็นเรื่องส่วนตัวสำหรับผู้ใช้แต่ละคน

คุณได้ดำเนินการที่จำเป็นทั้งหมดในตัวอย่างนี้แล้ว เรามาทำซ้ำสิ่งที่เราได้กล่าวถึง :)

บนโฟลเดอร์ย่อย "ผู้ใช้1"ฉันคลิกขวาที่เมาส์แล้วเลือกรายการเมนู "คุณสมบัติ"ให้ไปที่บุ๊กมาร์ก "ความปลอดภัย"- ฉันกดปุ่ม "เพิ่ม"

และในหน้าต่างการเลือกมาตรฐาน ฉันเลือกผู้ใช้โดเมนที่มีชื่อ "ผู้ใช้1".

สิ่งที่เหลืออยู่คือทำเครื่องหมายที่ช่องเพื่อรับสิทธิ์ "เปลี่ยน"- ในกรณีนี้ ช่องทำเครื่องหมายสำหรับสิทธิ์ในการอนุญาต "บันทึก"จะทำการติดตั้งอัตโนมัติ

คลิก "ตกลง"- ออกไปกันเถอะ ยังคงทำซ้ำขั้นตอนที่คล้ายกันสำหรับโฟลเดอร์ย่อยทั้งหมด

ตัวอย่างที่ 3 การให้สิทธิ์แก่ผู้ใช้ในการเข้าถึงการเขียนส่วนตัวไปยังโฟลเดอร์ย่อยของเขา ในขณะเดียวกันก็ห้ามไม่ให้มีการแก้ไขหรือลบ

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

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

ในหน้าต่างที่เปิดขึ้น ให้เลือก "ผู้ใช้1"และกดปุ่ม "เปลี่ยน"

ในหน้าต่างที่เปิดขึ้นเราจะเห็นสิทธิ์การอ่านมาตรฐาน

เพื่อให้สิทธิ์แก่ผู้ใช้ในการสร้างไฟล์ ให้ตั้งค่าสิทธิ์ทางด้านขวา “การสร้างไฟล์/การเขียนข้อมูล”และทางด้านขวา "การลบโฟลเดอร์ย่อยและไฟล์"และ "ลบ"เราสั่งห้าม เราปล่อยให้มรดกเป็นมาตรฐาน "สำหรับโฟลเดอร์นี้ โฟลเดอร์ย่อยและไฟล์ต่างๆ".

หลังจากกดปุ่มแล้ว "ตกลง"และกลับมาที่หน้าต่างก่อนหน้า คุณจะเห็นการเปลี่ยนแปลงที่สำคัญ แทนที่จะเป็นหนึ่งรายการสำหรับ "ผู้ใช้1"สองคนปรากฏตัวขึ้น

เนื่องจากมีการจัดตั้งสิทธิสองประเภท ประเภทหนึ่งห้าม อยู่ในลำดับแรก อีกประเภทหนึ่งได้รับอนุญาต และเป็นอันดับสองในรายการ เนื่องจากสิทธิพิเศษนั้นไม่ได้มาตรฐานในคอลัมน์ "การอนุญาต"คุ้มค่าคุ้มราคา "พิเศษ"- เมื่อกดปุ่มแล้ว "ตกลง"หน้าต่างปรากฏขึ้นซึ่ง Windows เตือนว่ามีสิทธิ์ที่ห้ามและมีลำดับความสำคัญสูงกว่า แปลแล้วหมายถึงสถานการณ์เดียวกันกับประตูปิดเองซึ่งมีกุญแจอยู่ข้างใน ฉันอธิบายสถานการณ์ที่คล้ายกันในตัวอย่างที่สอง

ทั้งหมด. กำหนดสิทธิแล้ว ตอนนี้ "ผู้ใช้1"จะสามารถเขียนไฟล์ใด ๆ ลงในโฟลเดอร์เปิดได้ แต่จะไม่สามารถเปลี่ยนแปลงหรือลบได้

แต่ความคล้ายคลึงที่สมบูรณ์กับกล่องจดหมายจริงล่ะ?

เพื่อป้องกันไม่ให้ผู้ใช้เปิดหรือคัดลอกไฟล์ที่บันทึกไว้ คุณต้องดำเนินการดังต่อไปนี้ เราเปิดอีกครั้งโดยอนุญาตให้มีการอนุญาตพิเศษสำหรับ "ผู้ใช้1"และในสนาม "นำมาใช้:"เปลี่ยนค่าเป็น "สำหรับโฟลเดอร์นี้เท่านั้น"

ในกรณีนี้ ผู้ใช้ไม่มีสิทธิ์อ่านหรือคัดลอกไฟล์

ทั้งหมด. ขณะนี้การเปรียบเทียบกับกล่องจดหมายจริงเกือบจะเสร็จสมบูรณ์แล้ว เขาจะสามารถดูได้เฉพาะชื่อไฟล์ ขนาด และคุณลักษณะเท่านั้น แต่เขาจะไม่สามารถดูไฟล์ได้เอง

ดูสิทธิในปัจจุบัน

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

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

หากคุณยังคงตัดสินใจที่จะดูสิทธิ์ปัจจุบันคุณต้องคลิกปุ่มในหน้าต่างสิทธิ์พื้นฐาน "นอกจากนี้"และในหน้าต่างสิทธิพิเศษให้ไปที่แท็บ “ใบอนุญาตถูกต้อง”.

จากนั้นคุณจะต้องกดปุ่ม "เลือก"และในหน้าต่างการเลือกมาตรฐาน ให้เลือกผู้ใช้หรือกลุ่มที่ต้องการ

เมื่อเลือกแล้ว คุณจะเห็นสิทธิ์ที่ถูกต้อง "โดยประมาณ"

โดยสรุป ฉันอยากจะบอกว่าหัวข้อเกี่ยวกับสิทธิ์ของระบบไฟล์ NTFS นั้นกว้างขวางมาก ตัวอย่างข้างต้นเป็นเพียงส่วนเล็กๆ ของสิ่งที่สามารถทำได้ ดังนั้นหากคุณมีคำถาม ให้ถามพวกเขาในความคิดเห็นของบทความนี้ ฉันจะพยายามตอบพวกเขา

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

ฉันต้องการพูดคุยเกี่ยวกับการเข้าถึงเครือข่ายและโฟลเดอร์ในเครื่องบนเซิร์ฟเวอร์

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

เพื่อแชร์โฟลเดอร์ใน Server 2012 ในกลุ่ม SMB Share Cmdlets นั้น New-SMBShare cmdlet ได้ปรากฏขึ้น เมื่อใช้ cmdlet นี้เป็นตัวอย่าง เราจะเห็นตัวเลือกทั้งหมดที่พร้อมใช้งานเมื่อสร้างโฟลเดอร์แชร์ ยกเว้นการกำหนดค่าคลัสเตอร์ (นี่เป็นหัวข้อใหญ่แยกต่างหาก)

การสร้างโฟลเดอร์แชร์ใหม่ดูง่ายมาก:
net share homefolder=s:\ivanivanov /grant:"admin",เต็ม /grant:"folderowner",เปลี่ยน /grant:"manager", อ่าน /cache:programs /remark:"Ivanov" หรือ
ใหม่ smbshare homefolder s: \ ivanivanov – โปรแกรมโหมดแคช – ผู้ดูแลระบบการเข้าถึงแบบเต็ม – เจ้าของโฟลเดอร์ changeaccess – ผู้จัดการการเข้าถึงการอ่าน – ไม่มีการเข้าถึงทั้งหมด – การเข้าถึงโฟลเดอร์การนับโหมดตามคำอธิบาย - คำอธิบาย "Ivanov"

ลองคิดดู:

-name คือชื่อของโฟลเดอร์ที่ใช้ร่วมกันบนเครือข่าย ซึ่งอาจแตกต่างจากชื่อของโฟลเดอร์บนเครื่องคอมพิวเตอร์ มีความยาวจำกัด 80 อักขระ และไม่สามารถใช้ชื่อไปป์และช่องเมลได้

เส้นทางคือเส้นทางไปยังโฟลเดอร์ในเครื่องที่ต้องการแชร์ เส้นทางจะต้องเสร็จสมบูรณ์ จากรากของดิสก์

Cachingmode กำหนดค่าความเป็นอิสระของไฟล์ในโฟลเดอร์แชร์

ไฟล์ออฟไลน์คืออะไร?

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

  • งานไม่ได้ขึ้นอยู่กับเครือข่าย - สวิตช์อาจไหม้, เซิร์ฟเวอร์อาจรีบูต, สายอาจขาดหรือจุดเข้าใช้งานอาจปิด - ผู้ใช้ทำงานกับสำเนาของเขาโดยไม่สังเกตว่าคุณมีอุบัติเหตุบางอย่างที่นั่นเมื่อ กำลังฟื้นฟู การเชื่อมต่อเครือข่ายงานของเขาไปที่เซิร์ฟเวอร์
  • ผู้ใช้สามารถทำงานได้ทุกที่: ในประเทศ บนรถบัส บนเครื่องบิน - ในสถานที่ซึ่งการเชื่อมต่อ VPN ไม่พร้อมใช้งานด้วยเหตุผลบางประการ
  • แม้ว่าผู้ใช้จะทำงานผ่าน VPN แต่การเชื่อมต่อช้ามากหรือขาดหายอย่างต่อเนื่อง การทำงานกับสำเนาออฟไลน์และซิงโครไนซ์การเปลี่ยนแปลงได้ง่ายกว่าการพยายามทำอะไรบางอย่างบนเซิร์ฟเวอร์
  • ผู้ใช้สามารถเลือกเวลาและเวลาในการซิงโครไนซ์ได้ หากได้รับโอกาส

ยอมรับค่าต่อไปนี้:
  • ไม่มี – ไฟล์ไม่พร้อมใช้งานแบบออฟไลน์ การเข้าถึงไฟล์จำเป็นต้องเข้าถึงเซิร์ฟเวอร์
  • คู่มือ – ผู้ใช้เองเลือกไฟล์ที่จะใช้งานแบบออฟไลน์ได้
  • โปรแกรม – ทุกอย่างในโฟลเดอร์สามารถใช้งานได้แบบออฟไลน์ (เอกสารและโปรแกรม (ไฟล์ที่มีนามสกุล *.exe, *.dll))
  • เอกสาร – มีเอกสาร โปรแกรมไม่พร้อมใช้งาน
  • Branchcache – การแคชเกิดขึ้นบนเซิร์ฟเวอร์ BranchCache แทนที่จะเป็นเครื่องคอมพิวเตอร์ของผู้ใช้ ผู้ใช้จะเลือกไฟล์ออฟไลน์ด้วยตนเอง
-noaccess, -readaccess, -changeaccess, -สิทธิ์การเข้าถึงแบบเต็ม การเข้าถึงสาธารณะ(สิทธิ์การแบ่งปัน)

ใบอนุญาตเหล่านี้มีข้อได้เปรียบที่สำคัญอย่างหนึ่ง - ง่ายมาก

เลขานุการ Noaccess สจ๊วต – เลขานุการและผู้ดูแลไม่มีอะไรทำในโฟลเดอร์ที่ใช้ร่วมกันของแผนกบัญชี
-readaccess audit – ผู้ตรวจสอบที่ตรวจสอบการทำงานของแผนกบัญชีสามารถดูชื่อไฟล์และโฟลเดอร์ย่อยในโฟลเดอร์แชร์ เปิดไฟล์เพื่ออ่าน และรันโปรแกรมได้
-changeaccess นักบัญชี – นักบัญชีในโฟลเดอร์ที่ใช้ร่วมกันสามารถสร้างไฟล์และโฟลเดอร์ย่อย เปลี่ยนแปลงได้ ไฟล์ที่มีอยู่, ลบไฟล์และโฟลเดอร์ย่อย
ผู้ดูแลระบบ -fullaccess - การเข้าถึงแบบเต็มคือ readaccess+changeaccess รวมถึงความสามารถในการเปลี่ยนสิทธิ์

เมื่อคุณสร้างโฟลเดอร์แชร์ กฎที่เข้มงวดที่สุดจะถูกนำไปใช้โดยอัตโนมัติ - กลุ่มทุกคนจะได้รับสิทธิ์ในการอ่าน

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

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

คำอธิบาย คำอธิบายของทรัพยากรที่ใช้ร่วมกันซึ่งมองเห็นได้ในสภาพแวดล้อมเครือข่าย คำอธิบายเป็นสิ่งที่ดีมากที่หลายคนละเลย

เข้ารหัสการเข้ารหัสข้อมูล

ใน SMB ก่อนเวอร์ชัน 3.0 วิธีเดียวที่จะปกป้องการรับส่งข้อมูลจากไฟล์เซิร์ฟเวอร์ไปยังไคลเอนต์คือ VPN วิธีการนำไปใช้นั้นขึ้นอยู่กับความชอบทั้งหมด ผู้ดูแลระบบ: SSL, PPTP, อุโมงค์ IPSEC หรืออย่างอื่น ใน Server 2012 การเข้ารหัสจะทำงานนอกกรอบตามปกติ เครือข่ายท้องถิ่นหรือผ่านเครือข่ายที่ไม่น่าเชื่อถือ โดยไม่ต้องใช้โซลูชั่นโครงสร้างพื้นฐานพิเศษใดๆ สามารถเปิดใช้งานได้สำหรับทั้งเซิร์ฟเวอร์หรือสำหรับแต่ละโฟลเดอร์ที่แชร์ อัลกอริธึมการเข้ารหัสใน SMB 3.0 คือ AES-CCM อัลกอริธึมการแฮชแทนที่ HMAC-SHA256 ด้วย AES-CMAC ข่าวดีก็คือ SMB 3.0 รองรับฮาร์ดแวร์ AES (AES-NI) แต่ข่าวร้ายก็คือ รัสเซียไม่รองรับ AES-NI

การเปิดใช้งานการเข้ารหัสมีความเสี่ยงอะไรบ้าง? เนื่องจากมีเพียงไคลเอนต์ที่รองรับ SMB 3.0 นั่นคือ Windows 8 เท่านั้นที่จะสามารถทำงานกับโฟลเดอร์แชร์ที่เข้ารหัสได้ เหตุผลอีกครั้งคือการจำกัดสิทธิ์ผู้ใช้สูงสุดที่อนุญาต สันนิษฐานว่าผู้ดูแลระบบรู้ว่ากำลังทำอะไรอยู่ และหากจำเป็น จะให้สิทธิ์การเข้าถึงไคลเอนต์ที่มี SMB เวอร์ชันอื่น แต่เนื่องจาก SMB 3.0 ใช้อัลกอริธึมการเข้ารหัสและแฮชใหม่ การรับส่งข้อมูลจากไคลเอนต์ที่มี SMB เวอร์ชันอื่นจะไม่ถูกเข้ารหัส จึงจำเป็นต้องใช้ VPN คำสั่ง set-smbserverconfiguration –rejectunencryptedaccess $false จะช่วยให้คุณอนุญาตให้ไคลเอนต์ทั้งหมดเชื่อมต่อกับไฟล์เซิร์ฟเวอร์โดยเปิดใช้งานการเข้ารหัส
ในการกำหนดค่าเริ่มต้น (การรับส่งข้อมูลที่ไม่ได้เข้ารหัสเป็นการเข้ารหัส โฟลเดอร์ที่ใช้ร่วมกัน) เมื่อพยายามเข้าถึงโฟลเดอร์ไคลเอนต์ที่มีเวอร์ชัน SMB ต่ำกว่า 3.0 บนไคลเอนต์ เราจะได้รับข้อความ “ข้อผิดพลาดในการเข้าถึง” บนเซิร์ฟเวอร์ เหตุการณ์ 1003 จะถูกเพิ่มลงในบันทึก Microsoft-Windows-SmbServer/Operational ซึ่งคุณสามารถค้นหาที่อยู่ IP ของไคลเอ็นต์ที่พยายามเข้าถึงได้

การเข้ารหัส SMB และ EFS เป็นสิ่งที่แตกต่างกันซึ่งไม่มีความเกี่ยวข้องกัน กล่าวคือ สามารถใช้กับวอลุ่ม FAT และ ReFS ได้

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

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

สิทธิ์ NTFS

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

มีสิทธิ์พื้นฐานหกสิทธิ์ ซึ่งเป็นการรวมกันของสิทธิ์ขั้นสูง 14 รายการ

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

แก้ไข– สิทธิ์ในการอ่าน เปลี่ยนแปลง ดูเนื้อหาของโฟลเดอร์ ลบโฟลเดอร์/ไฟล์ และเรียกใช้ไฟล์ปฏิบัติการ รวมถึงการอ่านและดำเนินการ เขียนและลบ

อ่านและดำเนินการ (readandexecute)– สิทธิ์ในการเปิดโฟลเดอร์และไฟล์เพื่ออ่านโดยไม่ต้องเขียน นอกจากนี้ยังสามารถเรียกใช้ไฟล์ปฏิบัติการได้อีกด้วย

รายการเนื้อหาโฟลเดอร์ (listdirectory)– สิทธิ์ในการดูเนื้อหาของโฟลเดอร์

อ่าน– สิทธิ์ในการเปิดโฟลเดอร์และไฟล์เพื่ออ่านโดยไม่ต้องเขียน ประกอบด้วยเนื้อหาโฟลเดอร์ / ข้อมูลการอ่าน คุณลักษณะการอ่าน คุณลักษณะการอ่านเพิ่มเติม และสิทธิ์ในการอ่าน

เขียน– สิทธิ์ในการสร้างโฟลเดอร์และไฟล์แก้ไขไฟล์ รวมถึงการสร้างไฟล์ / การเขียนข้อมูล (writedata), การสร้างโฟลเดอร์ / การผนวกข้อมูล (appenddata), การเขียนคุณสมบัติ (writeattributes) และการเขียนคุณสมบัติเพิ่มเติม

สิทธิ์เพิ่มเติม
ฉันตั้งค่าสิทธิ์เพียง 1 จาก 14 รายการในโฟลเดอร์และดูว่าเกิดอะไรขึ้น ในโลกแห่งความเป็นจริง ในกรณีส่วนใหญ่ การอนุญาตพื้นฐานก็เพียงพอแล้ว แต่ฉันสนใจพฤติกรรมของโฟลเดอร์และไฟล์ที่มีสิทธิ์ลดลงมากที่สุด

การเคลื่อนที่ของโฟลเดอร์ / การดำเนินการไฟล์ (การเคลื่อนที่)– สิทธิ์ในการเรียกใช้และอ่านไฟล์ โดยไม่คำนึงถึงสิทธิ์การเข้าถึงโฟลเดอร์ ผู้ใช้จะไม่สามารถเข้าถึงโฟลเดอร์ได้ (สิ่งที่อยู่ในโฟลเดอร์ยังคงเป็นปริศนา) แต่ไฟล์ในโฟลเดอร์จะพร้อมใช้งานผ่านลิงก์โดยตรง (เส้นทางแบบเต็ม สัมพันธ์ หรือ UNC) คุณสามารถใส่โฟลเดอร์ Traverse และใส่สิทธิ์อื่น ๆ ที่ผู้ใช้จำเป็นต้องใช้ในไฟล์ได้ ผู้ใช้จะไม่สามารถสร้างและลบไฟล์ในโฟลเดอร์ได้

คุณสมบัติการอ่าน– สิทธิ์ในการดู FileAttributes ของโฟลเดอร์หรือไฟล์
คุณไม่สามารถดูเนื้อหาของโฟลเดอร์หรือไฟล์หรือเปลี่ยนแปลงคุณสมบัติใดๆ

การอ่านคุณลักษณะเพิ่มเติม (readextenedattributes)– สิทธิ์ในการดูคุณสมบัติเพิ่มเติมของโฟลเดอร์หรือไฟล์

สิ่งเดียวที่ฉันพบเกี่ยวกับคุณลักษณะเพิ่มเติมคือใช้เพื่อมอบความเข้ากันได้แบบย้อนหลังกับแอปพลิเคชัน OS/2 (Windows Internals ตอนที่ 2: ครอบคลุม Windows Server 2008 R2 และ Windows 7) ฉันไม่รู้อะไรเกี่ยวกับพวกเขาอีกเลย

การสร้างไฟล์/การเขียนข้อมูล (writedata)– ให้ผู้ใช้สามารถสร้างไฟล์ในโฟลเดอร์ที่เขาไม่สามารถเข้าถึงได้ คุณสามารถคัดลอกไฟล์ไปยังโฟลเดอร์และสร้างไฟล์ใหม่ในโฟลเดอร์ได้ คุณไม่สามารถดูเนื้อหาของโฟลเดอร์ สร้างโฟลเดอร์ใหม่ หรือเปลี่ยนแปลงไฟล์ที่มีอยู่ได้ ผู้ใช้จะไม่สามารถเปลี่ยนแปลงไฟล์ใด ๆ แม้ว่าเขาจะเป็นเจ้าของไฟล์นี้ก็ตาม - เพียงสร้างมันขึ้นมาเท่านั้น

การสร้างโฟลเดอร์ / เพิ่มข้อมูล (ผนวกข้อมูล)– ให้ผู้ใช้สามารถสร้างโฟลเดอร์ย่อยภายในโฟลเดอร์และผนวกข้อมูลต่อท้ายไฟล์โดยไม่ต้องเปลี่ยนเนื้อหาที่มีอยู่

การตรวจสอบ

ทุกอย่างชัดเจนเกี่ยวกับการสร้างโฟลเดอร์ย่อย: ni c:\testperms\testappend –itemtype ไดเร็กทอรีจะทำงานตามที่คาดไว้ โดยจะสร้างโฟลเดอร์ย่อย testappend ในโฟลเดอร์ testperms ซึ่งผู้ใช้ไม่สามารถเข้าถึงได้ ลองเพิ่มบรรทัดที่ท้ายไฟล์ - มาจำลองการบันทึกบางประเภทกัน เหตุการณ์ใหม่ >> c:\testperms\user.log การเข้าถึงถูกปฏิเสธ
อืม... มันใช้ไม่ได้กับ CMD และถ้าเป็นเช่นนั้น ac c:\testperms\user.log เหตุการณ์ใหม่ ac: การเข้าถึงถูกปฏิเสธไปยังเส้นทาง "C:\testperms\user.log"
แล้วสายพานลำเลียงล่ะ? "เหตุการณ์ใหม่" | out-file c:\testperms\user.log - ต่อท้ายไฟล์: การเข้าถึงถูกปฏิเสธไปยังเส้นทาง "C:\testperms\user.log"
และมันไม่ทำงานอย่างนั้น

มาเริ่มเซสชั่นมนต์ดำกัน: ใช้คลาส File, วิธี AppendText เราได้รับวัตถุบันทึก
$log = ::appendtext("c:\testperms\user.log") ข้อยกเว้นเมื่อเรียก "AppendText" ด้วยอาร์กิวเมนต์ "1": "การอนุญาตถูกปฏิเสธที่เส้นทาง 'c:\testperms\user.log'"
ฉันคิดว่า AppendAllText ไม่คุ้มค่าที่จะลองอีกต่อไป
$log = ::appendalltext("c:\testperms\user.log"newevent") ข้อยกเว้นเมื่อเรียก "AppendAllText" ด้วยอาร์กิวเมนต์ "2": "สิทธิ์ถูกปฏิเสธที่เส้นทาง 'c:\testperms\user.log'" "
โดยหลักการแล้วประเด็นคือชัดเจน เฉพาะวิธีการข้างต้นเท่านั้นที่ไม่มีสิทธิ์ในการเพิ่มข้อมูลลงในไฟล์ พวกเขาจำเป็นต้องเขียนลงไฟล์ แต่ในขณะเดียวกัน เราจะให้โอกาสในการเปลี่ยนแปลงไฟล์ ไม่ใช่แค่เพิ่มบันทึกเท่านั้น กล่าวคือ เราจะเปิดโอกาสให้ทำลายเนื้อหาทั้งหมดของไฟล์

เราจำเป็นต้องพิจารณาแนวคิดใหม่: อย่ารับออบเจ็กต์บันทึก แต่สร้างอันใหม่ซึ่งเราจะตั้งค่าพารามิเตอร์ทั้งหมดที่เราสนใจ เราต้องการบางสิ่งบางอย่างที่สามารถระบุสิทธิ์การเข้าถึงได้อย่างชัดเจน เราต้องการ FileStream และโดยเฉพาะอย่างยิ่ง FileStream Constructor (String, FileMode, FileSystemRights, FileShare, Int32, FileOptions) จะช่วยเรา จำเป็นต้องมีพารามิเตอร์ต่อไปนี้:

  • เส้นทางไปยังไฟล์นั้นชัดเจน
  • วิธีเปิดไฟล์ - เปิดไฟล์แล้วค้นหาจุดสิ้นสุดของไฟล์
  • สิทธิ์การเข้าถึงไฟล์-เพิ่มข้อมูล
  • การเข้าถึงวัตถุ FileStream อื่นๆ - ไม่จำเป็น
  • ขนาดบัฟเฟอร์ – ค่าเริ่มต้นคือ 8 ไบต์
  • ตัวเลือกเพิ่มเติม - ไม่
ปรากฎดังนี้:
$log = new-object io.filestream("c:\testperms\user.log",::append,::appenddata,::none,8,::none)
ได้ผล! เราได้สร้างวัตถุบันทึกมาลองเขียนอะไรบางอย่างที่นั่น เมธอด FileStream.Write ยอมรับค่าที่เข้ามาเป็นไบต์ เราแปลงเหตุการณ์ที่เราต้องการบันทึกเป็นไบต์ - คลาสการเข้ารหัส วิธี GetEncoding (เราไม่ต้องการคำพูดพล่อยๆ ในเอาต์พุต) และ GetBytes (จริงๆ แล้วคือการแปลง)
$event = "มีกิจกรรมใหม่เกิดขึ้น" $eventbytes = ::getencoding("windows-1251").getbytes($event)
พารามิเตอร์ FileStream.Write:
สิ่งที่จะเขียน; จะเริ่มเขียนได้ที่ไหน จำนวนไบต์ที่จะเขียน
เราเขียนลงไป:
$log.write($eventbytes,0,$eventbytes.count)
มาตรวจสอบกัน
gc c:\testperms\user.log gc: การเข้าถึงถูกปฏิเสธไปยังเส้นทาง "C:\testperms\user.log"
ทุกอย่างเรียบร้อยดี ผู้ใช้ไม่มีสิทธิ์ดูสิ่งที่เขียนไว้ เข้าสู่ระบบในฐานะผู้ดูแลระบบ
gc c:\testperms\user.log มีเหตุการณ์ใหม่เกิดขึ้น
ทุกอย่างทำงานได้

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

ข้อสรุปนี้ง่ายมาก: คุณจะไม่สามารถใช้การบันทึกสิ่งใดๆ ในไฟล์แบตช์ได้อย่างปลอดภัย PowerShell ช่วยให้คุณประหยัดความสามารถในการทำงานกับออบเจ็กต์ .NET


เขียนคุณลักษณะ– อนุญาตให้ผู้ใช้เปลี่ยนคุณสมบัติของไฟล์หรือโฟลเดอร์ ทุกอย่างดูเรียบง่าย แต่เพียงเพื่อตอบคำถาม: “รูปถ่ายแมวของฉันกินพื้นที่เกือบทั้งหมดในโปรไฟล์ของฉัน และฉันไม่มีที่ว่างเหลือสำหรับการติดต่อทางธุรกิจ ฉันต้องการบีบอัดโฟลเดอร์ที่มีแมว แต่พวกเขาขอสิทธิ์ผู้ดูแลระบบจากฉัน คุณบอกว่าฉันมีสิทธิ์ที่จะเปลี่ยนคุณสมบัติของโฟลเดอร์ นี่เป็นคุณลักษณะหรือไม่? ทำไมฉันไม่สามารถเปลี่ยนมันได้?

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

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

เขียนคุณลักษณะเพิ่มเติม- สิ่งเหล่านี้คือสิ่งที่ใช้สำหรับความเข้ากันได้แบบย้อนหลังกับแอปพลิเคชัน OS/2 ใช่แล้ว โทรจัน (ZeroAccess.C) เพิ่งเริ่มถูกเพิ่มเข้าไปในแอตทริบิวต์เพิ่มเติมของไฟล์ C:\Windows\system32\services.exe บางทีมันอาจจะคุ้มค่าที่จะปิดพวกมันที่ระดับสูงสุด? ฉันไม่สามารถตอบคำถามนี้ได้ ในทางทฤษฎี บางทีมันอาจจะคุ้มค่าในทางปฏิบัติ ฉันยังไม่ได้ลองเลย

การลบโฟลเดอร์ย่อยและไฟล์ (ลบไดเรกทอรีย่อยและไฟล์)การอนุญาตที่น่าสนใจที่ใช้กับโฟลเดอร์เท่านั้น แนวคิดคือการอนุญาตให้ผู้ใช้สามารถลบโฟลเดอร์ย่อยและไฟล์ในโฟลเดอร์หลักโดยไม่ต้องให้สิทธิ์ในการลบ

สมมติว่ามีแค็ตตาล็อกผลิตภัณฑ์ที่ผู้ใช้ป้อนข้อมูล มีแคตตาล็อกโฟลเดอร์หลัก ภายในมีโฟลเดอร์ย่อยตามลำดับตัวอักษรตั้งแต่ A ถึง Z โดยมีชื่อบางชื่ออยู่ข้างใน ชื่อเปลี่ยนแปลงทุกวัน มีบางอย่างเพิ่มเข้ามา บางอย่างเปลี่ยนแปลง บางอย่างล้าสมัย และข้อมูลที่ล้าสมัยจะต้องถูกลบ แต่มันจะไม่ดีนักถ้ามีใครทำลายไดเร็กทอรี K ทั้งหมดโดยไม่รู้ตัวหรือเจตนาร้าย ซึ่งเป็นไปได้มากหากผู้ใช้มีสิทธิ์ลบ หากคุณนำสิทธิ์ Delete ออกจากผู้ใช้ ผู้ดูแลระบบจะสามารถเปลี่ยนงานได้อย่างปลอดภัย เนื่องจากเขาจะปฏิบัติตามคำร้องขอให้ลบชื่อนี้หรือชื่อนั้นตลอดทั้งวัน

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

ลบ.ทุกอย่างเรียบง่ายที่นี่ การกำจัดก็คือการกำจัด ไม่ทำงานหากไม่มีสิทธิ์ในการอ่าน

สิทธิ์ในการอ่านให้สิทธิ์ผู้ใช้ในการดูสิทธิ์ในโฟลเดอร์หรือไฟล์ ไม่มีการอนุญาต - ผู้ใช้ไม่เห็นการอนุญาตบนแท็บความปลอดภัย

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

การเปลี่ยนแปลงเจ้าของ (takeownership)– สำหรับผู้เริ่มต้นใครคือเจ้าของ เจ้าของคือผู้ใช้ที่สร้างไฟล์หรือโฟลเดอร์

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

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

เราจัดการ

CMD ใช้ icacls ที่รู้จักกันดีในการจัดการสิทธิ์ ใน PowerShell การจัดการสิทธิ์ NTFS จะมีลักษณะดังนี้:

รับวัตถุที่เราจะตั้งค่าการอนุญาต
$acl = get-acl c:\testperms
สร้างสตริงที่มีสิทธิ์โดยใช้คลาส System.Security.AccessControl.FileSystemAccessRule เราสามารถตั้งค่าพารามิเตอร์ดังต่อไปนี้:

  • กลุ่ม/ชื่อผู้ใช้ – สำหรับผู้ที่เรากำลังสร้าง ACL
  • ความละเอียด – ACE (ยอมรับค่าที่ระบุในโพสต์)
  • ใช้กับ – ใน GUI นี่คือรายการแบบเลื่อนลงในตัวเลือกความปลอดภัยขั้นสูง ในความเป็นจริง ใช้เพียง 3 ค่าเท่านั้น: ไม่มี (เฉพาะกับโฟลเดอร์นี้), คอนเทนเนอร์สืบทอด (ใช้กับโฟลเดอร์ย่อยทั้งหมด), สืบทอดวัตถุ (ใช้กับไฟล์ทั้งหมด) สามารถรวมค่าต่างๆ เข้าด้วยกันได้
  • ใช้สิทธิ์เหล่านี้กับวัตถุและคอนเทนเนอร์ภายในคอนเทนเนอร์นี้เท่านั้น (ช่องทำเครื่องหมายใน GUI) - รวมถึง 3 ค่า: ไม่มี (ช่องทำเครื่องหมายถูกล้าง), สืบทอดเท่านั้น (ACE ใช้กับประเภทวัตถุที่เลือกเท่านั้น), nopropagateinherit (ใช้สิทธิ์เฉพาะภายในคอนเทนเนอร์นี้เท่านั้น ).
  • กฎ - อนุญาต (อนุญาต) หรือปฏิเสธ (ปฏิเสธ)
บรรทัดการอนุญาตเริ่มต้นจะมีลักษณะดังนี้:
$permission = “contoso.com\admin”,”fullcontrol”,”containerinherit, objectinherit”,”ไม่มี”,”อนุญาต”
สร้าง ACE ใหม่โดยมีสิทธิ์ที่กำหนดไว้ข้างต้น
$ace = วัตถุใหม่ security.accesscontrol.filesystemaccessrule $permission
และใช้ ACE ที่สร้างขึ้นใหม่กับวัตถุ
$acl.setaccessrule($เอซ) $acl | ชุด-acl c:\testperms

ลองนำไปปฏิบัติดูครับ

ด้วยความรู้เกี่ยวกับการอนุญาต SMB และ NTFS เมื่อรวมเข้าด้วยกัน คุณสามารถสร้างกฎการเข้าถึงที่ซับซ้อนได้อย่างแน่นอน ตัวอย่างบางส่วน:
พิมพ์ สิทธิ์ SMB สิทธิ์ NTFS
โฟลเดอร์สำหรับทุกคน (สาธารณะ) ผู้ใช้ - อ่าน/เขียน ผู้ใช้ - การเปลี่ยนแปลง
กล่องดำ. ผู้ใช้ส่งรายงานที่เป็นความลับ ข้อเสนอแนะ ใส่ร้าย - ฝ่ายบริหารอ่าน ผู้ใช้ - อ่าน/เขียน
คู่มือ - อ่าน/เขียน
ผู้ใช้ - รายการ ใช้กับโฟลเดอร์นี้เท่านั้น ถือว่าการเขียนไฟล์ลงในโฟลเดอร์นี้เป็นตั๋วเที่ยวเดียวเนื่องจาก วิธีที่สะดวกแก้ไขโดยไม่มีสิทธิ์ดูเนื้อหาของโฟลเดอร์ไม่มีไฟล์ที่บันทึกไว้ในโฟลเดอร์นี้ (อย่างไรก็ตามไม่มีวิธีที่สะดวกสำหรับผู้ใช้ในการเขียนลงในโฟลเดอร์ดังกล่าว) และการดูละเมิดความเป็นส่วนตัว

ความเป็นผู้นำ - การเปลี่ยนแปลง

การใช้งาน ผู้ใช้--การอ่าน ผู้ใช้ – อ่าน อ่านและดำเนินการ ดูเนื้อหาโฟลเดอร์

โดยปกติแล้ว แอปพลิเคชันบางตัวอาจต้องการสิทธิ์เพิ่มเติมในการดำเนินการ แต่ในกรณีทั่วไป ตัวอย่างเช่น การจัดเก็บยูทิลิตี้การวินิจฉัยระบบ (ชุด SysInternals เดียวกัน) ก็เพียงพอแล้ว

โปรไฟล์ผู้ใช้ ผู้ใช้แต่ละราย – อ่าน/เขียนลงในโฟลเดอร์ของตน ผู้ใช้แต่ละคน – เปลี่ยนเป็นโฟลเดอร์ของเขา

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

ฉันหวังว่าฉันจะไม่ทำให้ใครสับสนอีกต่อไป

งานห้องปฏิบัติการหมายเลข 2

หัวข้อ: การใช้เทคนิคในการทำงานกับระบบไฟล์ NTFS การกำหนดสิทธิ์การเข้าถึงไฟล์และโฟลเดอร์

เวลานำ:2 ชั่วโมง

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

ข้อมูลทางทฤษฎี

ข้อมูลทั่วไปเกี่ยวกับการใช้สิทธิ์ NTFS

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

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

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

สิทธิ์ NTFS หลายรายการ

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

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

การตั้งค่าสิทธิ์ NTFS และสิทธิ์พิเศษ

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

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

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

คุณสามารถตั้งค่าการอนุญาตสำหรับโฟลเดอร์เท่านั้น ไม่ใช่แต่ละไฟล์

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

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

· สร้างกลุ่มตามประเภทการเข้าถึงที่สมาชิกกลุ่มต้องการ จากนั้นตั้งค่าสิทธิ์ที่เหมาะสมสำหรับกลุ่ม กำหนดสิทธิ์ให้กับผู้ใช้แต่ละรายเมื่อจำเป็นเท่านั้น

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

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

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

มีสิทธิ์พื้นฐานหกสิทธิ์ ซึ่งเป็นการรวมกันของสิทธิ์ขั้นสูง 14 รายการ

สิทธิ์พื้นฐาน:

  • การควบคุมเต็มรูปแบบ– การเข้าถึงโฟลเดอร์หรือไฟล์โดยสมบูรณ์ พร้อมความสามารถในการเปลี่ยนสิทธิ์การเข้าถึงและกฎการตรวจสอบสำหรับโฟลเดอร์และไฟล์
  • แก้ไข– สิทธิ์ในการอ่าน เปลี่ยนแปลง ดูเนื้อหาของโฟลเดอร์ ลบโฟลเดอร์/ไฟล์ และเรียกใช้ไฟล์ปฏิบัติการ รวมถึงการอ่านและดำเนินการ เขียนและลบ
  • อ่านและดำเนินการ (readandexecute)– สิทธิ์ในการเปิดโฟลเดอร์และไฟล์เพื่ออ่านโดยไม่ต้องเขียน นอกจากนี้ยังสามารถเรียกใช้ไฟล์ปฏิบัติการได้อีกด้วย
  • รายการเนื้อหาโฟลเดอร์ (listdirectory)– สิทธิ์ในการดูเนื้อหาของโฟลเดอร์
  • อ่าน– สิทธิ์ในการเปิดโฟลเดอร์และไฟล์เพื่ออ่านโดยไม่ต้องเขียน ประกอบด้วยเนื้อหาโฟลเดอร์ / ข้อมูลการอ่าน คุณลักษณะการอ่าน คุณลักษณะการอ่านเพิ่มเติม และสิทธิ์ในการอ่าน
  • เขียน– สิทธิ์ในการสร้างโฟลเดอร์และไฟล์แก้ไขไฟล์ รวมถึงการสร้างไฟล์ / การเขียนข้อมูล (writedata), การสร้างโฟลเดอร์ / การผนวกข้อมูล (appenddata), การเขียนคุณสมบัติ (writeattributes) และการเขียนคุณสมบัติเพิ่มเติม

สิทธิ์เพิ่มเติม

  • การเคลื่อนที่ของโฟลเดอร์ / การดำเนินการไฟล์ (การเคลื่อนที่)– สิทธิ์ในการเรียกใช้และอ่านไฟล์ โดยไม่คำนึงถึงสิทธิ์การเข้าถึงโฟลเดอร์ ผู้ใช้จะไม่สามารถเข้าถึงโฟลเดอร์ได้ (สิ่งที่อยู่ในโฟลเดอร์ยังคงเป็นปริศนา) แต่ไฟล์ในโฟลเดอร์จะพร้อมใช้งานผ่านลิงก์โดยตรง (เส้นทางแบบเต็ม สัมพันธ์ หรือ UNC) คุณสามารถใส่โฟลเดอร์ Traverse และใส่สิทธิ์อื่น ๆ ที่ผู้ใช้จำเป็นต้องใช้ในไฟล์ได้ ผู้ใช้จะไม่สามารถสร้างและลบไฟล์ในโฟลเดอร์ได้
  • เนื้อหาโฟลเดอร์ / อ่านข้อมูล (readdata)– สิทธิ์ในการดูเนื้อหาของโฟลเดอร์โดยไม่มีความสามารถในการเปลี่ยนแปลง คุณไม่สามารถเรียกใช้หรือเปิดไฟล์ในโฟลเดอร์ที่คุณกำลังดูได้
  • คุณสมบัติการอ่าน– สิทธิ์ในการดู FileAttributes ของโฟลเดอร์หรือไฟล์ คุณไม่สามารถดูเนื้อหาของโฟลเดอร์หรือไฟล์หรือเปลี่ยนแปลงคุณสมบัติใดๆ
  • การอ่านคุณลักษณะเพิ่มเติม (readextenedattributes)– สิทธิ์ในการดูคุณสมบัติเพิ่มเติมของโฟลเดอร์หรือไฟล์
  • การสร้างไฟล์/การเขียนข้อมูล (writedata)– ให้ผู้ใช้สามารถสร้างไฟล์ในโฟลเดอร์ที่เขาไม่สามารถเข้าถึงได้ คุณสามารถคัดลอกไฟล์ไปยังโฟลเดอร์และสร้างไฟล์ใหม่ในโฟลเดอร์ได้ คุณไม่สามารถดูเนื้อหาของโฟลเดอร์ สร้างโฟลเดอร์ใหม่ หรือเปลี่ยนแปลงไฟล์ที่มีอยู่ได้ ผู้ใช้จะไม่สามารถเปลี่ยนแปลงไฟล์ใด ๆ แม้ว่าเขาจะเป็นเจ้าของไฟล์นี้ก็ตาม - เพียงสร้างมันขึ้นมาเท่านั้น
  • การสร้างโฟลเดอร์ / เพิ่มข้อมูล (ผนวกข้อมูล)– ให้ผู้ใช้สามารถสร้างโฟลเดอร์ย่อยภายในโฟลเดอร์และผนวกข้อมูลต่อท้ายไฟล์โดยไม่ต้องเปลี่ยนเนื้อหาที่มีอยู่

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

ฉันต้องการพูดคุยเกี่ยวกับการเข้าถึงเครือข่ายและโฟลเดอร์ในเครื่องบนเซิร์ฟเวอร์

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

เพื่อแชร์โฟลเดอร์ใน Server 2012 ในกลุ่ม SMB Share Cmdlets นั้น New-SMBShare cmdlet ได้ปรากฏขึ้น เมื่อใช้ cmdlet นี้เป็นตัวอย่าง เราจะเห็นตัวเลือกทั้งหมดที่พร้อมใช้งานเมื่อสร้างโฟลเดอร์แชร์ ยกเว้นการกำหนดค่าคลัสเตอร์ (นี่เป็นหัวข้อใหญ่แยกต่างหาก)

การสร้างโฟลเดอร์แชร์ใหม่ดูง่ายมาก:
net share homefolder=s:\ivanivanov /grant:"admin",เต็ม /grant:"folderowner",เปลี่ยน /grant:"manager", อ่าน /cache:programs /remark:"Ivanov" หรือ
ใหม่ smbshare homefolder s: \ ivanivanov – โปรแกรมโหมดแคช – ผู้ดูแลระบบการเข้าถึงแบบเต็ม – เจ้าของโฟลเดอร์ changeaccess – ผู้จัดการการเข้าถึงการอ่าน – ไม่มีการเข้าถึงทั้งหมด – การเข้าถึงโฟลเดอร์การนับโหมดตามคำอธิบาย - คำอธิบาย "Ivanov"

ลองคิดดู:

-name คือชื่อของโฟลเดอร์ที่ใช้ร่วมกันบนเครือข่าย ซึ่งอาจแตกต่างจากชื่อของโฟลเดอร์บนเครื่องคอมพิวเตอร์ มีความยาวจำกัด 80 อักขระ และไม่สามารถใช้ชื่อไปป์และช่องเมลได้

เส้นทางคือเส้นทางไปยังโฟลเดอร์ในเครื่องที่ต้องการแชร์ เส้นทางจะต้องเสร็จสมบูรณ์ จากรากของดิสก์

Cachingmode กำหนดค่าความเป็นอิสระของไฟล์ในโฟลเดอร์แชร์

ไฟล์ออฟไลน์คืออะไร?

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

  • งานไม่ได้ขึ้นอยู่กับเครือข่าย - สวิตช์อาจไหม้, เซิร์ฟเวอร์อาจรีบูต, สายอาจขาดหรือจุดเข้าใช้งานอาจปิด - ผู้ใช้ทำงานกับสำเนาของเขาโดยไม่สังเกตว่าคุณมีอุบัติเหตุบางอย่างที่นั่นเมื่อ การเชื่อมต่อเครือข่ายกลับคืนมา งานของเขาไปที่เซิร์ฟเวอร์
  • ผู้ใช้สามารถทำงานได้ทุกที่: ในประเทศ บนรถบัส บนเครื่องบิน - ในสถานที่ซึ่งการเชื่อมต่อ VPN ไม่พร้อมใช้งานด้วยเหตุผลบางประการ
  • แม้ว่าผู้ใช้จะทำงานผ่าน VPN แต่การเชื่อมต่อช้ามากหรือขาดหายอย่างต่อเนื่อง การทำงานกับสำเนาออฟไลน์และซิงโครไนซ์การเปลี่ยนแปลงได้ง่ายกว่าการพยายามทำอะไรบางอย่างบนเซิร์ฟเวอร์
  • ผู้ใช้สามารถเลือกเวลาและเวลาในการซิงโครไนซ์ได้ หากได้รับโอกาส

ยอมรับค่าต่อไปนี้:
  • ไม่มี – ไฟล์ไม่พร้อมใช้งานแบบออฟไลน์ การเข้าถึงไฟล์จำเป็นต้องเข้าถึงเซิร์ฟเวอร์
  • คู่มือ – ผู้ใช้เองเลือกไฟล์ที่จะใช้งานแบบออฟไลน์ได้
  • โปรแกรม – ทุกอย่างในโฟลเดอร์สามารถใช้งานได้แบบออฟไลน์ (เอกสารและโปรแกรม (ไฟล์ที่มีนามสกุล *.exe, *.dll))
  • เอกสาร – มีเอกสาร โปรแกรมไม่พร้อมใช้งาน
  • Branchcache – การแคชเกิดขึ้นบนเซิร์ฟเวอร์ BranchCache แทนที่จะเป็นเครื่องคอมพิวเตอร์ของผู้ใช้ ผู้ใช้จะเลือกไฟล์ออฟไลน์ด้วยตนเอง
-noaccess, -readaccess, -changeaccess, -fullaccess สิทธิ์การแชร์

ใบอนุญาตเหล่านี้มีข้อได้เปรียบที่สำคัญอย่างหนึ่ง - ง่ายมาก

เลขานุการ Noaccess สจ๊วต – เลขานุการและผู้ดูแลไม่มีอะไรทำในโฟลเดอร์ที่ใช้ร่วมกันของแผนกบัญชี
-readaccess audit – ผู้ตรวจสอบที่ตรวจสอบการทำงานของแผนกบัญชีสามารถดูชื่อไฟล์และโฟลเดอร์ย่อยในโฟลเดอร์แชร์ เปิดไฟล์เพื่ออ่าน และรันโปรแกรมได้
-changeaccess นักบัญชี – นักบัญชีในโฟลเดอร์ที่ใช้ร่วมกันสามารถสร้างไฟล์และโฟลเดอร์ย่อย เปลี่ยนไฟล์ที่มีอยู่ ลบไฟล์และโฟลเดอร์ย่อย
ผู้ดูแลระบบ -fullaccess - การเข้าถึงแบบเต็มคือ readaccess+changeaccess รวมถึงความสามารถในการเปลี่ยนสิทธิ์

เมื่อคุณสร้างโฟลเดอร์แชร์ กฎที่เข้มงวดที่สุดจะถูกนำไปใช้โดยอัตโนมัติ - กลุ่มทุกคนจะได้รับสิทธิ์ในการอ่าน

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

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

คำอธิบาย คำอธิบายของทรัพยากรที่ใช้ร่วมกันซึ่งมองเห็นได้ในสภาพแวดล้อมเครือข่าย คำอธิบายเป็นสิ่งที่ดีมากที่หลายคนละเลย

เข้ารหัสการเข้ารหัสข้อมูล

ใน SMB ก่อนเวอร์ชัน 3.0 วิธีเดียวที่จะปกป้องการรับส่งข้อมูลจากไฟล์เซิร์ฟเวอร์ไปยังไคลเอนต์คือ VPN วิธีการใช้งานนั้นขึ้นอยู่กับการตั้งค่าของผู้ดูแลระบบทั้งหมด: SSL, PPTP, ช่องสัญญาณ IPSEC หรืออย่างอื่น ใน Server 2012 การเข้ารหัสจะทำงานได้ทันทีบนเครือข่ายท้องถิ่นปกติหรือบนเครือข่ายที่ไม่น่าเชื่อถือ โดยไม่ต้องใช้โซลูชันโครงสร้างพื้นฐานพิเศษใดๆ สามารถเปิดใช้งานได้สำหรับทั้งเซิร์ฟเวอร์หรือสำหรับแต่ละโฟลเดอร์ที่แชร์ อัลกอริธึมการเข้ารหัสใน SMB 3.0 คือ AES-CCM อัลกอริธึมการแฮชแทนที่ HMAC-SHA256 ด้วย AES-CMAC ข่าวดีก็คือ SMB 3.0 รองรับฮาร์ดแวร์ AES (AES-NI) แต่ข่าวร้ายก็คือ รัสเซียไม่รองรับ AES-NI

การเปิดใช้งานการเข้ารหัสมีความเสี่ยงอะไรบ้าง? เนื่องจากมีเพียงไคลเอนต์ที่รองรับ SMB 3.0 นั่นคือ Windows 8 เท่านั้นที่จะสามารถทำงานกับโฟลเดอร์แชร์ที่เข้ารหัสได้ เหตุผลอีกครั้งคือการจำกัดสิทธิ์ผู้ใช้สูงสุดที่อนุญาต สันนิษฐานว่าผู้ดูแลระบบรู้ว่ากำลังทำอะไรอยู่ และหากจำเป็น จะให้สิทธิ์การเข้าถึงไคลเอนต์ที่มี SMB เวอร์ชันอื่น แต่เนื่องจาก SMB 3.0 ใช้อัลกอริธึมการเข้ารหัสและแฮชใหม่ การรับส่งข้อมูลจากไคลเอนต์ที่มี SMB เวอร์ชันอื่นจะไม่ถูกเข้ารหัส จึงจำเป็นต้องใช้ VPN คำสั่ง set-smbserverconfiguration –rejectunencryptedaccess $false จะช่วยให้คุณอนุญาตให้ไคลเอนต์ทั้งหมดเชื่อมต่อกับไฟล์เซิร์ฟเวอร์โดยเปิดใช้งานการเข้ารหัส
ในการกำหนดค่าเริ่มต้น (ห้ามการรับส่งข้อมูลที่ไม่ได้เข้ารหัสไปยังโฟลเดอร์ที่ใช้ร่วมกันที่เข้ารหัส) หากเราพยายามเข้าถึงโฟลเดอร์ไคลเอนต์ที่มีเวอร์ชัน SMB ต่ำกว่า 3.0 บนไคลเอนต์ เราจะได้รับ "ข้อผิดพลาดในการเข้าถึง" บนเซิร์ฟเวอร์ เหตุการณ์ 1003 จะถูกเพิ่มลงในบันทึก Microsoft-Windows-SmbServer/Operational ซึ่งคุณสามารถค้นหาที่อยู่ IP ของไคลเอ็นต์ที่พยายามเข้าถึงได้

การเข้ารหัส SMB และ EFS เป็นสิ่งที่แตกต่างกันซึ่งไม่มีความเกี่ยวข้องกัน กล่าวคือ สามารถใช้กับวอลุ่ม FAT และ ReFS ได้

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

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

สิทธิ์ NTFS

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

มีสิทธิ์พื้นฐานหกสิทธิ์ ซึ่งเป็นการรวมกันของสิทธิ์ขั้นสูง 14 รายการ

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

แก้ไข– สิทธิ์ในการอ่าน เปลี่ยนแปลง ดูเนื้อหาของโฟลเดอร์ ลบโฟลเดอร์/ไฟล์ และเรียกใช้ไฟล์ปฏิบัติการ รวมถึงการอ่านและดำเนินการ เขียนและลบ

อ่านและดำเนินการ (readandexecute)– สิทธิ์ในการเปิดโฟลเดอร์และไฟล์เพื่ออ่านโดยไม่ต้องเขียน นอกจากนี้ยังสามารถเรียกใช้ไฟล์ปฏิบัติการได้อีกด้วย

รายการเนื้อหาโฟลเดอร์ (listdirectory)– สิทธิ์ในการดูเนื้อหาของโฟลเดอร์

อ่าน– สิทธิ์ในการเปิดโฟลเดอร์และไฟล์เพื่ออ่านโดยไม่ต้องเขียน ประกอบด้วยเนื้อหาโฟลเดอร์ / ข้อมูลการอ่าน คุณลักษณะการอ่าน คุณลักษณะการอ่านเพิ่มเติม และสิทธิ์ในการอ่าน

เขียน– สิทธิ์ในการสร้างโฟลเดอร์และไฟล์แก้ไขไฟล์ รวมถึงการสร้างไฟล์ / การเขียนข้อมูล (writedata), การสร้างโฟลเดอร์ / การผนวกข้อมูล (appenddata), การเขียนคุณสมบัติ (writeattributes) และการเขียนคุณสมบัติเพิ่มเติม

สิทธิ์เพิ่มเติม
ฉันตั้งค่าสิทธิ์เพียง 1 จาก 14 รายการในโฟลเดอร์และดูว่าเกิดอะไรขึ้น ในโลกแห่งความเป็นจริง ในกรณีส่วนใหญ่ การอนุญาตพื้นฐานก็เพียงพอแล้ว แต่ฉันสนใจพฤติกรรมของโฟลเดอร์และไฟล์ที่มีสิทธิ์ลดลงมากที่สุด

การเคลื่อนที่ของโฟลเดอร์ / การดำเนินการไฟล์ (การเคลื่อนที่)– สิทธิ์ในการเรียกใช้และอ่านไฟล์ โดยไม่คำนึงถึงสิทธิ์การเข้าถึงโฟลเดอร์ ผู้ใช้จะไม่สามารถเข้าถึงโฟลเดอร์ได้ (สิ่งที่อยู่ในโฟลเดอร์ยังคงเป็นปริศนา) แต่ไฟล์ในโฟลเดอร์จะพร้อมใช้งานผ่านลิงก์โดยตรง (เส้นทางแบบเต็ม สัมพันธ์ หรือ UNC) คุณสามารถใส่โฟลเดอร์ Traverse และใส่สิทธิ์อื่น ๆ ที่ผู้ใช้จำเป็นต้องใช้ในไฟล์ได้ ผู้ใช้จะไม่สามารถสร้างและลบไฟล์ในโฟลเดอร์ได้

คุณสมบัติการอ่าน– สิทธิ์ในการดู FileAttributes ของโฟลเดอร์หรือไฟล์
คุณไม่สามารถดูเนื้อหาของโฟลเดอร์หรือไฟล์หรือเปลี่ยนแปลงคุณสมบัติใดๆ

การอ่านคุณลักษณะเพิ่มเติม (readextenedattributes)– สิทธิ์ในการดูคุณสมบัติเพิ่มเติมของโฟลเดอร์หรือไฟล์

สิ่งเดียวที่ฉันพบเกี่ยวกับคุณลักษณะเพิ่มเติมคือใช้เพื่อมอบความเข้ากันได้แบบย้อนหลังกับแอปพลิเคชัน OS/2 (Windows Internals ตอนที่ 2: ครอบคลุม Windows Server 2008 R2 และ Windows 7) ฉันไม่รู้อะไรเกี่ยวกับพวกเขาอีกเลย

การสร้างไฟล์/การเขียนข้อมูล (writedata)– ให้ผู้ใช้สามารถสร้างไฟล์ในโฟลเดอร์ที่เขาไม่สามารถเข้าถึงได้ คุณสามารถคัดลอกไฟล์ไปยังโฟลเดอร์และสร้างไฟล์ใหม่ในโฟลเดอร์ได้ คุณไม่สามารถดูเนื้อหาของโฟลเดอร์ สร้างโฟลเดอร์ใหม่ หรือเปลี่ยนแปลงไฟล์ที่มีอยู่ได้ ผู้ใช้จะไม่สามารถเปลี่ยนแปลงไฟล์ใด ๆ แม้ว่าเขาจะเป็นเจ้าของไฟล์นี้ก็ตาม - เพียงสร้างมันขึ้นมาเท่านั้น

การสร้างโฟลเดอร์ / เพิ่มข้อมูล (ผนวกข้อมูล)– ให้ผู้ใช้สามารถสร้างโฟลเดอร์ย่อยภายในโฟลเดอร์และผนวกข้อมูลต่อท้ายไฟล์โดยไม่ต้องเปลี่ยนเนื้อหาที่มีอยู่

การตรวจสอบ

ทุกอย่างชัดเจนเกี่ยวกับการสร้างโฟลเดอร์ย่อย: ni c:\testperms\testappend –itemtype ไดเร็กทอรีจะทำงานตามที่คาดไว้ โดยจะสร้างโฟลเดอร์ย่อย testappend ในโฟลเดอร์ testperms ซึ่งผู้ใช้ไม่สามารถเข้าถึงได้ ลองเพิ่มบรรทัดที่ท้ายไฟล์ - มาจำลองการบันทึกบางประเภทกัน เหตุการณ์ใหม่ >> c:\testperms\user.log การเข้าถึงถูกปฏิเสธ
อืม... มันใช้ไม่ได้กับ CMD และถ้าเป็นเช่นนั้น ac c:\testperms\user.log เหตุการณ์ใหม่ ac: การเข้าถึงถูกปฏิเสธไปยังเส้นทาง "C:\testperms\user.log"
แล้วสายพานลำเลียงล่ะ? "เหตุการณ์ใหม่" | out-file c:\testperms\user.log - ต่อท้ายไฟล์: การเข้าถึงถูกปฏิเสธไปยังเส้นทาง "C:\testperms\user.log"
และมันไม่ทำงานอย่างนั้น

มาเริ่มเซสชั่นมนต์ดำกัน: ใช้คลาส File, วิธี AppendText เราได้รับวัตถุบันทึก
$log = ::appendtext("c:\testperms\user.log") ข้อยกเว้นเมื่อเรียก "AppendText" ด้วยอาร์กิวเมนต์ "1": "การอนุญาตถูกปฏิเสธที่เส้นทาง 'c:\testperms\user.log'"
ฉันคิดว่า AppendAllText ไม่คุ้มค่าที่จะลองอีกต่อไป
$log = ::appendalltext("c:\testperms\user.log"newevent") ข้อยกเว้นเมื่อเรียก "AppendAllText" ด้วยอาร์กิวเมนต์ "2": "สิทธิ์ถูกปฏิเสธที่เส้นทาง 'c:\testperms\user.log'" "
โดยหลักการแล้วประเด็นคือชัดเจน เฉพาะวิธีการข้างต้นเท่านั้นที่ไม่มีสิทธิ์ในการเพิ่มข้อมูลลงในไฟล์ พวกเขาจำเป็นต้องเขียนลงไฟล์ แต่ในขณะเดียวกัน เราจะให้โอกาสในการเปลี่ยนแปลงไฟล์ ไม่ใช่แค่เพิ่มบันทึกเท่านั้น กล่าวคือ เราจะเปิดโอกาสให้ทำลายเนื้อหาทั้งหมดของไฟล์

เราจำเป็นต้องพิจารณาแนวคิดใหม่: อย่ารับออบเจ็กต์บันทึก แต่สร้างอันใหม่ซึ่งเราจะตั้งค่าพารามิเตอร์ทั้งหมดที่เราสนใจ เราต้องการบางสิ่งบางอย่างที่สามารถระบุสิทธิ์การเข้าถึงได้อย่างชัดเจน เราต้องการ FileStream และโดยเฉพาะอย่างยิ่ง FileStream Constructor (String, FileMode, FileSystemRights, FileShare, Int32, FileOptions) จะช่วยเรา จำเป็นต้องมีพารามิเตอร์ต่อไปนี้:

  • เส้นทางไปยังไฟล์นั้นชัดเจน
  • วิธีเปิดไฟล์ - เปิดไฟล์แล้วค้นหาจุดสิ้นสุดของไฟล์
  • สิทธิ์การเข้าถึงไฟล์-เพิ่มข้อมูล
  • การเข้าถึงวัตถุ FileStream อื่นๆ - ไม่จำเป็น
  • ขนาดบัฟเฟอร์ – ค่าเริ่มต้นคือ 8 ไบต์
  • ตัวเลือกเพิ่มเติม - ไม่
ปรากฎดังนี้:
$log = new-object io.filestream("c:\testperms\user.log",::append,::appenddata,::none,8,::none)
ได้ผล! เราได้สร้างวัตถุบันทึกมาลองเขียนอะไรบางอย่างที่นั่น เมธอด FileStream.Write ยอมรับค่าที่เข้ามาเป็นไบต์ เราแปลงเหตุการณ์ที่เราต้องการบันทึกเป็นไบต์ - คลาสการเข้ารหัส วิธี GetEncoding (เราไม่ต้องการคำพูดพล่อยๆ ในเอาต์พุต) และ GetBytes (จริงๆ แล้วคือการแปลง)
$event = "มีกิจกรรมใหม่เกิดขึ้น" $eventbytes = ::getencoding("windows-1251").getbytes($event)
พารามิเตอร์ FileStream.Write:
สิ่งที่จะเขียน; จะเริ่มเขียนได้ที่ไหน จำนวนไบต์ที่จะเขียน
เราเขียนลงไป:
$log.write($eventbytes,0,$eventbytes.count)
มาตรวจสอบกัน
gc c:\testperms\user.log gc: การเข้าถึงถูกปฏิเสธไปยังเส้นทาง "C:\testperms\user.log"
ทุกอย่างเรียบร้อยดี ผู้ใช้ไม่มีสิทธิ์ดูสิ่งที่เขียนไว้ เข้าสู่ระบบในฐานะผู้ดูแลระบบ
gc c:\testperms\user.log มีเหตุการณ์ใหม่เกิดขึ้น
ทุกอย่างทำงานได้

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

ข้อสรุปนี้ง่ายมาก: คุณจะไม่สามารถใช้การบันทึกสิ่งใดๆ ในไฟล์แบตช์ได้อย่างปลอดภัย PowerShell ช่วยให้คุณประหยัดความสามารถในการทำงานกับออบเจ็กต์ .NET


เขียนคุณลักษณะ– อนุญาตให้ผู้ใช้เปลี่ยนคุณสมบัติของไฟล์หรือโฟลเดอร์ ทุกอย่างดูเรียบง่าย แต่เพียงเพื่อตอบคำถาม: “รูปถ่ายแมวของฉันกินพื้นที่เกือบทั้งหมดในโปรไฟล์ของฉัน และฉันไม่มีที่ว่างเหลือสำหรับการติดต่อทางธุรกิจ ฉันต้องการบีบอัดโฟลเดอร์ที่มีแมว แต่พวกเขาขอสิทธิ์ผู้ดูแลระบบจากฉัน คุณบอกว่าฉันมีสิทธิ์ที่จะเปลี่ยนคุณสมบัติของโฟลเดอร์ นี่เป็นคุณลักษณะหรือไม่? ทำไมฉันไม่สามารถเปลี่ยนมันได้?

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

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

เขียนคุณลักษณะเพิ่มเติม- สิ่งเหล่านี้คือสิ่งที่ใช้สำหรับความเข้ากันได้แบบย้อนหลังกับแอปพลิเคชัน OS/2 ใช่แล้ว โทรจัน (ZeroAccess.C) เพิ่งเริ่มถูกเพิ่มเข้าไปในแอตทริบิวต์เพิ่มเติมของไฟล์ C:\Windows\system32\services.exe บางทีมันอาจจะคุ้มค่าที่จะปิดพวกมันที่ระดับสูงสุด? ฉันไม่สามารถตอบคำถามนี้ได้ ในทางทฤษฎี บางทีมันอาจจะคุ้มค่าในทางปฏิบัติ ฉันยังไม่ได้ลองเลย

การลบโฟลเดอร์ย่อยและไฟล์ (ลบไดเรกทอรีย่อยและไฟล์)การอนุญาตที่น่าสนใจที่ใช้กับโฟลเดอร์เท่านั้น แนวคิดคือการอนุญาตให้ผู้ใช้สามารถลบโฟลเดอร์ย่อยและไฟล์ในโฟลเดอร์หลักโดยไม่ต้องให้สิทธิ์ในการลบ

สมมติว่ามีแค็ตตาล็อกผลิตภัณฑ์ที่ผู้ใช้ป้อนข้อมูล มีแคตตาล็อกโฟลเดอร์หลัก ภายในมีโฟลเดอร์ย่อยตามลำดับตัวอักษรตั้งแต่ A ถึง Z โดยมีชื่อบางชื่ออยู่ข้างใน ชื่อเปลี่ยนแปลงทุกวัน มีบางอย่างเพิ่มเข้ามา บางอย่างเปลี่ยนแปลง บางอย่างล้าสมัย และข้อมูลที่ล้าสมัยจะต้องถูกลบ แต่มันจะไม่ดีนักถ้ามีใครทำลายไดเร็กทอรี K ทั้งหมดโดยไม่รู้ตัวหรือเจตนาร้าย ซึ่งเป็นไปได้มากหากผู้ใช้มีสิทธิ์ลบ หากคุณนำสิทธิ์ Delete ออกจากผู้ใช้ ผู้ดูแลระบบจะสามารถเปลี่ยนงานได้อย่างปลอดภัย เนื่องจากเขาจะปฏิบัติตามคำร้องขอให้ลบชื่อนี้หรือชื่อนั้นตลอดทั้งวัน

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

ลบ.ทุกอย่างเรียบง่ายที่นี่ การกำจัดก็คือการกำจัด ไม่ทำงานหากไม่มีสิทธิ์ในการอ่าน

สิทธิ์ในการอ่านให้สิทธิ์ผู้ใช้ในการดูสิทธิ์ในโฟลเดอร์หรือไฟล์ ไม่มีการอนุญาต - ผู้ใช้ไม่เห็นการอนุญาตบนแท็บความปลอดภัย

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

การเปลี่ยนแปลงเจ้าของ (takeownership)– สำหรับผู้เริ่มต้นใครคือเจ้าของ เจ้าของคือผู้ใช้ที่สร้างไฟล์หรือโฟลเดอร์

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

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

เราจัดการ

CMD ใช้ icacls ที่รู้จักกันดีในการจัดการสิทธิ์ ใน PowerShell การจัดการสิทธิ์ NTFS จะมีลักษณะดังนี้:

รับวัตถุที่เราจะตั้งค่าการอนุญาต
$acl = get-acl c:\testperms
สร้างสตริงที่มีสิทธิ์โดยใช้คลาส System.Security.AccessControl.FileSystemAccessRule เราสามารถตั้งค่าพารามิเตอร์ดังต่อไปนี้:

  • กลุ่ม/ชื่อผู้ใช้ – สำหรับผู้ที่เรากำลังสร้าง ACL
  • ความละเอียด – ACE (ยอมรับค่าที่ระบุในโพสต์)
  • ใช้กับ – ใน GUI นี่คือรายการแบบเลื่อนลงในตัวเลือกความปลอดภัยขั้นสูง ในความเป็นจริง ใช้เพียง 3 ค่าเท่านั้น: ไม่มี (เฉพาะกับโฟลเดอร์นี้), คอนเทนเนอร์สืบทอด (ใช้กับโฟลเดอร์ย่อยทั้งหมด), สืบทอดวัตถุ (ใช้กับไฟล์ทั้งหมด) สามารถรวมค่าต่างๆ เข้าด้วยกันได้
  • ใช้สิทธิ์เหล่านี้กับวัตถุและคอนเทนเนอร์ภายในคอนเทนเนอร์นี้เท่านั้น (ช่องทำเครื่องหมายใน GUI) - รวมถึง 3 ค่า: ไม่มี (ช่องทำเครื่องหมายถูกล้าง), สืบทอดเท่านั้น (ACE ใช้กับประเภทวัตถุที่เลือกเท่านั้น), nopropagateinherit (ใช้สิทธิ์เฉพาะภายในคอนเทนเนอร์นี้เท่านั้น ).
  • กฎ - อนุญาต (อนุญาต) หรือปฏิเสธ (ปฏิเสธ)
บรรทัดการอนุญาตเริ่มต้นจะมีลักษณะดังนี้:
$permission = “contoso.com\admin”,”fullcontrol”,”containerinherit, objectinherit”,”ไม่มี”,”อนุญาต”
สร้าง ACE ใหม่โดยมีสิทธิ์ที่กำหนดไว้ข้างต้น
$ace = วัตถุใหม่ security.accesscontrol.filesystemaccessrule $permission
และใช้ ACE ที่สร้างขึ้นใหม่กับวัตถุ
$acl.setaccessrule($เอซ) $acl | ชุด-acl c:\testperms

ลองนำไปปฏิบัติดูครับ

ด้วยความรู้เกี่ยวกับการอนุญาต SMB และ NTFS เมื่อรวมเข้าด้วยกัน คุณสามารถสร้างกฎการเข้าถึงที่ซับซ้อนได้อย่างแน่นอน ตัวอย่างบางส่วน:
พิมพ์ สิทธิ์ SMB สิทธิ์ NTFS
โฟลเดอร์สำหรับทุกคน (สาธารณะ) ผู้ใช้ - อ่าน/เขียน ผู้ใช้ - การเปลี่ยนแปลง
กล่องดำ. ผู้ใช้ส่งรายงานที่เป็นความลับ ข้อเสนอแนะ ใส่ร้าย - ฝ่ายบริหารอ่าน ผู้ใช้ - อ่าน/เขียน
คู่มือ - อ่าน/เขียน
ผู้ใช้ - รายการ ใช้กับโฟลเดอร์นี้เท่านั้น สันนิษฐานว่าการเขียนไฟล์ลงในโฟลเดอร์นี้เป็นตั๋วเที่ยวเดียวเนื่องจากไม่มีวิธีที่สะดวกในการแก้ไขไฟล์ที่บันทึกไว้ในโฟลเดอร์นี้โดยไม่ต้องดูเนื้อหาของโฟลเดอร์ (โดยวิธีการไม่มีวิธีที่เป็นมิตรกับผู้ใช้ เพื่อเขียนลงในโฟลเดอร์ดังกล่าวด้วย) และการดูละเมิดความเป็นส่วนตัว

ความเป็นผู้นำ - การเปลี่ยนแปลง

การใช้งาน ผู้ใช้--การอ่าน ผู้ใช้ – อ่าน อ่านและดำเนินการ ดูเนื้อหาโฟลเดอร์

โดยปกติแล้ว แอปพลิเคชันบางตัวอาจต้องการสิทธิ์เพิ่มเติมในการดำเนินการ แต่ในกรณีทั่วไป ตัวอย่างเช่น การจัดเก็บยูทิลิตี้การวินิจฉัยระบบ (ชุด SysInternals เดียวกัน) ก็เพียงพอแล้ว

โปรไฟล์ผู้ใช้ ผู้ใช้แต่ละราย – อ่าน/เขียนลงในโฟลเดอร์ของตน ผู้ใช้แต่ละคน – เปลี่ยนเป็นโฟลเดอร์ของเขา

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

ฉันหวังว่าฉันจะไม่ทำให้ใครสับสนอีกต่อไป