สิทธิ์และคุณสมบัติของไฟล์ Windows


15

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

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


1
คำถามยอดเยี่ยม
Jim B

คุณสมบัติของไฟล์ Windows นั้นคล้ายคลึงกับ Unix File Flags
Chris S

ฉันได้แก้ไขสิ่งนี้ให้เป็นเรื่องทั่วไปมากกว่าเนื่องจากหลักการเหล่านี้ใช้กับ Windows ทุกรุ่นไม่ใช่เฉพาะ Server 2003
MDMarra

เป็นไปได้จริงที่จะแตกต่างกันในปี 2012 และขึ้น
Jim B

คำตอบ:


16

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

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

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


ไม่มีสิ่งนั้นเป็นไฟล์ "NTFS" ที่ซ่อนอยู่โดยใช้แอตทริบิวต์ ไฟล์สามารถซ่อนได้โดยใช้สตรีม NTFS รองรับคุณสมบัติที่ต้องการโดยแอปพลิเคชันใด ๆ ที่ใช้ฟิลด์คุณสมบัติเพิ่มเติม ($ EA) ซึ่งเป็นเหตุผลที่คุณสามารถจัดเก็บการอนุญาตไฟล์ unix ในระบบไฟล์ NTFS
Jim B

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

แอตทริบิวต์ที่ซ่อนอยู่ใน Unix คืออะไร
Edward Thomson

ที่ซ่อนอยู่อาจเป็นตัวอย่างที่ไม่ดี แต่แสดงให้เห็นถึงจุดของฉัน ไม่มีแอตทริบิวต์ "ซ่อน" ต่อไฟล์เพียงไฟล์ที่มีคำนำหน้าด้วยจุด แอตทริบิวต์แฟ้ม windows ในคำถามเป็นจริงมากขึ้นคล้ายคลึงอย่างใกล้ชิดกับสิ่งที่ชอบธงแฟ้มในยูนิกซ์: freebsd.org/cgi/man.cgi?query=chflags&sektion=1
MDMarra

4

การอนุญาตคือการควบคุมความปลอดภัย แอ็ตทริบิวต์ใช้โดยไม่คำนึงถึงหลักการรักษาความปลอดภัยที่พยายามดำเนินการ

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

แอตทริบิวต์แฟ้มคง
http://msdn.microsoft.com/en-us/library/windows/desktop/gg258117%28v=vs.85%29.aspx

FILE_ATTRIBUTE_ARCHIVE 32 (0x20)

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

FILE_ATTRIBUTE_COMPRESSED 2048 (0x800)

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

FILE_ATTRIBUTE_DEVICE 64 (0x40)

ค่านี้สงวนไว้สำหรับการใช้งานระบบ

FILE_ATTRIBUTE_DIRECTORY 16 (0x10)

หมายเลขอ้างอิงที่ระบุไดเรกทอรี

FILE_ATTRIBUTE_ENCRYPTED 16384 (0x4000)

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

FILE_ATTRIBUTE_HIDDEN2 (0x2) ไฟล์หรือไดเรกทอรีถูกซ่อนอยู่ มันไม่ได้รวมอยู่ในรายการไดเรกทอรีสามัญ

FILE_ATTRIBUTE_INTEGRITY_STREAM 32768 (0x8000)

ไดเรกทอรีหรือสตรีมข้อมูลผู้ใช้ถูกกำหนดค่าด้วย integrity (รองรับเฉพาะใน ReFS วอลุ่ม) มันไม่ได้รวมอยู่ในรายการไดเรกทอรีสามัญ การตั้งค่า integrity ยังคงอยู่กับไฟล์หากมีการเปลี่ยนชื่อ หากไฟล์ถูกคัดลอกไฟล์ปลายทางจะมีชุดความสมบูรณ์หากไฟล์ต้นฉบับหรือไดเรกทอรีปลายทางมีชุดความสมบูรณ์

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 และ Windows XP: ไม่รองรับการตั้งค่าสถานะนี้จนกว่า Windows Server 2012

FILE_ATTRIBUTE_NORMAL 128 (0x80)

ไฟล์ที่ไม่ได้ตั้งค่าคุณลักษณะอื่น ๆ คุณลักษณะนี้ใช้ได้เฉพาะเมื่อใช้คนเดียว

FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 8192 (0x2000)

ไฟล์หรือไดเรกทอรีไม่ได้รับการจัดทำดัชนีโดยบริการจัดทำดัชนีเนื้อหา

FILE_ATTRIBUTE_NO_SCRUB_DATA 131072 (0x20000)

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

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 และ Windows XP: ไม่รองรับการตั้งค่าสถานะนี้จนกว่า Windows 8 และ Windows Server 2012

FILE_ATTRIBUTE_OFFLINE 4096 (0x1000)

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

FILE_ATTRIBUTE_READONLY 1 (0x1)

ไฟล์ที่เป็นแบบอ่านอย่างเดียว แอปพลิเคชันสามารถอ่านไฟล์ แต่ไม่สามารถเขียนหรือลบได้ คุณลักษณะนี้ไม่ได้รับเกียรติในไดเรกทอรี สำหรับข้อมูลเพิ่มเติมให้ดูที่คุณไม่สามารถดูหรือเปลี่ยนคุณลักษณะอ่านอย่างเดียวหรือคุณลักษณะระบบของโฟลเดอร์ใน Windows Server 2003, Windows XP, Windows Vista หรือ Windows 7

FILE_ATTRIBUTE_REPARSE_POINT 1024 (0x400)

ไฟล์หรือไดเรกทอรีที่มีจุดแยกวิเคราะห์ใหม่ที่เกี่ยวข้องหรือไฟล์ที่เป็นลิงค์สัญลักษณ์

FILE_ATTRIBUTE_SPARSE_FILE 512 (0x200)

ไฟล์ที่เป็นไฟล์กระจัดกระจาย

FILE_ATTRIBUTE_SYSTEM 4 (0x4)

ไฟล์หรือไดเรกทอรีที่ระบบปฏิบัติการใช้เป็นส่วนหนึ่งของหรือใช้เฉพาะ

FILE_ATTRIBUTE_TEMPORARY 256 (0x100)

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

FILE_ATTRIBUTE_VIRTUAL 65536 (0x10000)

ค่านี้สงวนไว้สำหรับการใช้งานระบบ


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

1
คุณได้ผสมผสานฟีเจอร์ FAT-Style และ NTFS ด้วย - ไม่ใช่ว่ามันมีความแตกต่างกันมากอีกต่อไป แต่ก็มีบางครั้งที่สำคัญที่จะต้องแยกแยะความแตกต่าง
Chris S

1
@ นาธานซีนี่เป็นคำตอบที่แน่นอน อ่านอย่างเดียวไม่สามารถควบคุมได้เต็มที่ ตามคำตอบที่กล่าวว่า "แอททริบิวต์จะถูกนำไปใช้โดยไม่คำนึงถึงหลักการความปลอดภัยที่พยายามดำเนินการ" อย่างไรก็ตาม Chris S ชี้ให้เห็น
Jim B

-6

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

สิทธิ์เป็น NTFS เฉพาะและการเปลี่ยนแปลงสิทธิ์เหล่านั้นสามารถควบคุมได้บนพื้นฐานของผู้ใช้แต่ละคน (เพื่อให้ผู้ใช้ไม่สามารถเปลี่ยนจากการอ่านอย่างเดียวเป็นแบบเขียนได้) โดยเฉพาะถ้าคุณดูที่คำสั่ง attrib (ซึ่งแสดงทั้งแบบดั้งเดิมและการเพิ่มคุณสมบัติใหม่เช่น integrity ใน windows รุ่นที่ใหม่กว่า) เป็นไปได้ที่จะมีการเข้าถึงแบบอ่านอย่างเดียวเท่านั้นที่ตั้งค่าสิทธิ์ แต่ไม่ได้ตั้งค่าแบบอ่านอย่างเดียว นอกจากนี้ยังน่าสนใจ (ถ้าไม่สำคัญ) ที่จะเข้าใจว่าเนื่องจากนามธรรมมันเป็นไปได้ในทางเทคนิคเพื่อเปิดใช้งานคุณลักษณะแบบดั้งเดิม (เก็บไว้ในแอตทริบิวต์ $ standard_information NTFS) โดยไม่จำเป็นต้องแสดงใน GUI ปกติ

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

แอ็ตทริบิวต์ FAT จะมีความสำคัญมากกว่าแอตทริบิวต์ NTFS ในหน้าต่าง


3
in general attributes are legacy settings- คุณมีแหล่งที่มาสำหรับเรื่องนี้เพราะฉันเชื่อว่าคำสั่งที่ไม่ถูกต้อง พวกเขามีอิสระที่จะอนุญาตระบบไฟล์ - พวกเขาไม่ได้ถูกแทนที่หรือแทนที่โดยพวกเขา ไม่มีสิ่งใดในสิทธิ์มาตรฐานที่แทนที่การทำงานของซ่อนเก็บถาวรหรือระบบ
MDMarra

1
Any user can modify them and can be used to prevent accidental overwrites of data.นอกจากนี้สิ่งนี้ไม่ถูกต้องตามข้อเท็จจริง เฉพาะผู้ใช้ที่มี "write attribute" เป็นไฟล์หรือไดเรกทอรีเท่านั้นที่สามารถเปลี่ยนคุณสมบัติในวัตถุนั้นได้
MDMarra

1
i.stack.imgur.com/2fhEr.pngเพื่อความกระจ่าง
นาธาน C

2
จิมโปรดใช้เวลาสักครู่เพื่อดูสิ่งนี้ตั้งแต่ต้น คุณได้ลงลึกไปในช่องกระต่าย "NTFS attribute" ที่คุณลืมไปแล้วว่าคุณเป็นคนเดียวที่พูดถึงคุณสมบัติของ NTFS OP กำลังพูดถึงคุณสมบัติไฟล์ทั่วโลกอย่าง "ซ่อน" และ "อ่านอย่างเดียว" เขาระบุอย่างชัดเจนว่า "อ่านอย่างเดียว" ในคำถาม ฉันไม่สามารถบอกได้ว่าคุณกำลังพยายามที่จะอวดความรู้และความล้มเหลวหรือถ้าคุณพลาดจุดนี้อย่างถูกกฎหมาย ใช่แล้วเรารู้ว่าแอตทริบิวต์ NTFS (แบบขยาย) นั้นไม่เหมือนกับแอตทริบิวต์ / ไฟล์ทั่วโลก (แบบ FAT) ไม่มีใครอ้างว่า
MDMarra

3
ฉันคิดว่าคุณพลาดจิตวิญญาณและเจตนาของคำถามนี้ไปอย่างชัดเจนและคุณกำลังพยายามแสดงท่าทางที่ไม่ถูกต้องส่วนหนึ่งและอีกส่วนไม่ช่วยเหลือ คุณได้แสดงให้เห็นอย่างชัดเจนว่าคุณมีความเข้าใจในการทำงานของคุณสมบัติของ NTFS แต่ไม่มีใครถามเกี่ยวกับพวกเขาและไม่มีใครใช้พวกเขาในคำตอบในตอนแรก หากคุณพยายามแสดงความรู้เกี่ยวกับคุณสมบัติของ NTFS คุณก็ทำได้ดี ปัญหาคือคุณพลาดจุดคำถามไปอย่างสิ้นเชิง
MDMarra
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.