우리는 Unix 기반 서버를 설정하려고 하며 서버에서 특정 파일이 생성되는 것을 방지할 수 있는 방법이 있는지 알아보고 있습니다.
내 말은 다음과 같은 파일을 의미합니다: .DS_Store
, .BridgeCache
, .BridgeCachet
, .BridgeCacheT
, , .BridgeSort
, ._.BridgeCache
, ._.BridgeCacheT
, Thumbs.db
, 및 .Parent
, , , 와 ._TemporaryItems
같은 폴더 ..AppleDouble
.AppleDB
.AppleDesktop
.TemporaryItems
우리는 매일 밤 cron
이러한 파일을 삭제할 방법을 고려하지만, 더 나은 해결책은 이러한 파일이 서버에 존재하지 않도록 완전히 비활성화하는 것입니다.
해결책이 있나요?
답변1
어느 유닉스? "잘못된" 이름이 전달되면 파일 생성이 실패합니다. 이는 매우 어렵지만 이를 수행하는 몇 가지 플랫폼별 방법이 있습니다.
inotify
첫째 , 적어도 파일 시스템을 관찰하고 파일이 생성되면 즉시 알려주는 그것과 그 친척이 있습니다 . 실제로 생성을 중지하고 시스템 호출이 오류를 반환하도록 할 수 있는지 확실하지 않지만 즉시 제거할 수 있습니다.
또 다른 접근 방식은 퓨즈 기반 파일 시스템(기존 또는 새로 작성된)입니다. 에서는 fuse
실제로 사용자 공간에서 모든 파일 시스템 프로시저를 구현하고 파일이 무엇인지, 어떻게 호출되는지에 대한 자신만의 규칙을 만들 수 있습니다.
물론 이 모든 것은 로컬 파일 시스템, 원격 마운트 시스템, 일종의 네트워크 전송 프로토콜이 있는지 여부에 따라 달라집니다.
이는 관련이 있을 수 있습니다:
https://stackoverflow.com/questions/8588386/intercepting-file-system-system-calls