ฉันต้องการสร้างไฟล์ที่ถูกล็อคโดยการลบ แต่ยังสามารถเขียนได้ ฉันจะทำสิ่งนี้ได้อย่างไร
ไฟล์ดังกล่าวมีปริมาณ Truecrypt เป็นไฟล์ในเครือข่าย NAS SMB ดังนั้นฉันไม่ต้องการลบโดยไม่ตั้งใจ
ฉันต้องการสร้างไฟล์ที่ถูกล็อคโดยการลบ แต่ยังสามารถเขียนได้ ฉันจะทำสิ่งนี้ได้อย่างไร
ไฟล์ดังกล่าวมีปริมาณ Truecrypt เป็นไฟล์ในเครือข่าย NAS SMB ดังนั้นฉันไม่ต้องการลบโดยไม่ตั้งใจ
คำตอบ:
สำหรับ Windows:
สำหรับ Unix (รวมถึง OS X):
โปรดทราบว่านี่จะเป็นการป้องกันไม่ให้ไฟล์ถูกลบ (ถูกลบ) แต่จะไม่ทำอะไรกับการตัดทอนโดยไม่ตั้งใจหรือเขียนทับด้วยขยะ หากไฟล์สามารถเขียนได้คุณสามารถเขียนอะไรก็ได้ลงไป
นอกจากนี้การอนุญาตของไฟล์จะอยู่ถัดจากการแปลระหว่างระบบปฏิบัติการไม่ได้ หาก NAS ใช้งาน Linux และคุณพยายามตั้งค่าการอนุญาตจากภายใน Windows ผลลัพธ์ที่ได้อาจแตกต่างจากที่คุณคาดหวัง
ใน Linux คุณสามารถสร้างฮาร์ดลิงก์ได้ จากนั้นคุณสามารถเขียนถึงมันและ "ลบ" แต่คุณจะลบการอ้างอิงในไดเรกทอรีของคุณเท่านั้น ฮาร์ดลิงค์อื่นจะยังคงชี้ไปที่เนื้อหาของไฟล์ดังนั้นมันจะไม่ถูกลบออกไป
ในโลก Unix คุณไม่ต้อง "ลบ" ไฟล์ คุณเพียงแค่ลดจำนวนการเชื่อมโยงฮาร์ดลงไป เมื่อไม่มีสิ่งใดชี้ไปพื้นที่นั้นจะถือว่าว่างและสามารถใช้ ...
การสำรองข้อมูล คุณไม่สามารถป้องกันไฟล์ที่เขียนได้จากความเสียหายแม้ว่าคุณจะสามารถลบได้ สำรองข้อมูลทุกวัน
นอกเหนือจากคำตอบก่อนหน้าฉันจะพิจารณาดู selinux คุณสามารถกำหนดข้อ จำกัด ที่ค่อนข้างละเอียดได้
ในระบบไฟล์วัวเช่น btrfs คุณสามารถทำสิ่งนี้ได้โดยใช้ subvolumes + snapshots หรือ cp ด้วย --reflink = เสมอสิ่งนี้จะส่งผลอย่างมีประสิทธิภาพในไฟล์จำนวนมากตามที่คุณต้องการซึ่งจะใช้พื้นที่เท่ากับหนึ่ง + ค่าใช้จ่ายบางส่วน (แต่ โดยไม่มีจำนวนสำเนาหรือสแน็ปช็อตรวมกันโดยเฉพาะอย่างยิ่งกับขนาดไฟล์เล็ก ๆ นี้ไม่ควรสังเกตเห็น) จนกว่าจะมีการแก้ไขในกรณีนี้เฉพาะส่วนที่มีการเปลี่ยนแปลงจะถูกเก็บไว้แยกต่างหากและส่วนที่เหลือยังคงใช้ร่วมกัน จากนั้นตั้งค่าการอนุญาตให้แยกกัน (เพื่อให้ได้สิ่งที่คุณต้องการเพียงทำเป็นประจำหรือทำการคัดลอกพร้อมการอนุญาตแบบอ่านอย่างเดียว (และเลือกที่จะเมามัน ro หรือไม่ทั้งหมดถ้ามันเป็น snapshot และถ้ามันเป็นไฟล์ใช้ chattr + i (ผู้ใช้สามารถ ไม่เขียนหรือแก้ไขไฟล์แม้ว่าจะมีสิทธิ์เขียน) ในหนึ่งสำเนาหากคุณหวาดระแวง)
ใน UNIX "มาตรฐาน" ดูเหมือนว่าเป็นไปไม่ได้ที่จะป้องกันไฟล์เดียวจากการลบหากไดเรกทอรีนั้นสามารถเขียนได้ โดยสังเขปเราอาจคาดหวังว่าการล้างการป้องกัน w จากบิตโหมดด้วย 'chmod' ควรป้องกันการลบ แต่นี่ไม่ใช่กรณี ในทำนองเดียวกันใน AFS คุณไม่สามารถปกป้องไฟล์เดียวจากการถูกลบเนื่องจากรายการ ACL (ขาดหรือปฏิเสธการอนุญาต 'd' ที่เกี่ยวข้อง) จะใช้กับไดเรกทอรีโดยรวมเท่านั้น