파일을 삭제하지 못하도록 잠그고 쓰기 가능하게 만드는 방법은 무엇입니까?

파일을 삭제하지 못하도록 잠그고 쓰기 가능하게 만드는 방법은 무엇입니까?

파일을 삭제하지 못하도록 잠그되 쓰기는 가능하게 만들고 싶습니다. 어떻게 해야 하나요?

문제의 파일은 NAS SMB 네트워크 공유에 있는 파일로 Truecrypt 볼륨이므로 실수로 삭제하고 싶지 않습니다.

답변1

Windows의 경우:

  1. 파일에 대한 "삭제" 권한을 거부합니다.
  2. 상위 디렉터리에 대한 "하위 항목 삭제" 권한을 제거하거나 거부합니다.

Unix의 경우(OS X 포함):

  1. 상위 디렉터리에 대한 "쓰기" 권한을 제거합니다.

이는 파일이 제거(삭제)되는 것을 방지할 뿐이며, 실수로 잘리거나 가비지로 덮어쓰는 경우에는 아무런 조치도 취하지 않습니다. 파일이 쓰기 가능하다면 무엇이든 쓸 수 있습니다.

또한 파일 권한은 운영 체제 간 변환이 거의 불가능합니다. NAS가 Linux를 실행하고 Windows 내에서 권한을 설정하려고 하면 최종 결과가 예상과 다를 수 있습니다.

답변2

Linux에서는 이에 대한 하드 링크를 만들 수 있습니다. 그런 다음 해당 항목에 쓰고 "삭제"할 수 있지만 디렉터리에 있는 참조만 제거됩니다. 다른 하드 링크는 여전히 파일 내용을 가리키므로 어쨌든 삭제되지는 않습니다.

유닉스 세계에서는 파일을 "삭제"하지 않습니다. 하드 링크 수를 줄이면 됩니다. 다른 어떤 것도 가리키지 않을 때 공간은 무료로 간주되어 사용할 수 있습니다…

답변3

백업. 쓰기 가능한 파일을 실제로 보호할 수는 없습니다.손상삭제할 수 있더라도. 매일 백업하세요.

답변4

btrfs와 같은 암소 파일 시스템에서는 --reflink=always와 함께 하위 볼륨 + 스냅샷 또는 cp를 사용하여 이를 달성할 수 있습니다. 이렇게 하면 파일 하나 + 일부 오버헤드와 동일한 양의 공간을 소비하는 원하는 만큼의 파일이 효과적으로 생성됩니다(그러나 특히 작은 파일 크기와 결합된 엄청나게 많은 복사본이나 스냅샷이 없으면 눈에 띄지 않아야 합니다. 수정될 때까지는 변경된 부분만 별도로 저장되고 나머지는 여전히 공유됩니다. 그런 다음 각각에 대한 권한을 개별적으로 설정합니다(원하는 것을 얻으려면 정기적으로 스냅샷을 만들거나 읽기 전용 권한으로 복사하고 선택적으로 마운트하거나 스냅샷인 경우 모두 마운트하지 않고 파일인 경우 chattr +i를 사용합니다(사용자는 다음을 수행할 수 있음). 편집증이 있는 경우 하나의 복사본에 쓰기 권한이 있더라도 파일을 쓰거나 수정하지 마십시오.

관련 정보