2024. 2. 21. 13:59ㆍ🍏/OS
.DS_Store 파일이란?
Mac-OS 기반 운영 체제에서는 'Finder'가 해당 파일을 자동으로 생성, 해당 폴더에 대한 메타데이터를 저장하는 파일이다.
- DS_Store을 분석해보면 해당 디렉토리 크기, 아이콘의 위치, 폴더의 배경에 대한 정보들을 얻을 수 있다.
Apple Mac을 사용하면 생기는 파일입니다. 이 드라이브에는 이름이 .DS_Store인 파일이 하나 이상(숨겨진) 포함되어 있을 가능성이 높습니다. "Desktop Service Store"의 약자이며 파일에는 디렉터리의 파일 및 표시 옵션에 대한 메타 정보가 포함되어 있습니다. Mac-OS 기반 운영 체제에서는 'Finder'가 해당 파일을 자동으로 생성합니다. 다른 *NIX 계열 운영 체제와 마찬가지로 파일 이름 앞에 점이 붙어서 일반 사용자가 볼 수 없도록 숨겨져 있습니다. 이 파일 형식은 개방형 파일 형식이 아니라 Apple에서 개발한 독점 파일 형식입니다. 따라서 일반적으로 Apple 기기에서만 사용됩니다. 2006년의 DS_Sotre의 개발자중 한 명이 작성한 블로그 게시물 ".DS_Store의 기원"에서는 그가 어떻게 이름을 변경했을지, 그리고 파일 시스템에서 파일의 배포가 예상보다 더 커졌다는 점에 대해 설명합니다. 그는 디렉토리를 처음 볼 때 파일을 만드는 대신 디렉토리의 (표시) 옵션이 변경될 때만 파일을 만들도록 되어 있었다고 말합니다.
삭제 방법
현재 디렉토리와 모든 하위 디렉토리에서 `.DS_Store` 파일을 찾아 삭제하는 bash 명령어는 `find` 명령을 사용하여 수행할 수 있습니다. 다음은 해당 작업을 수행하는 명령어입니다:
find . -name '.DS_Store' -type f -delete
여기서 각 옵션의 의미는 다음과 같습니다:
- `.` : 현재 디렉토리를 의미합니다.
- `-name '.DS_Store'` : `.DS_Store`라는 이름을 가진 파일을 찾습니다.
- `-type f` : 파일 유형이 파일(file)인 것만 찾습니다.
- `-delete` : 찾은 파일을 삭제합니다.
이 명령어를 실행하기 전에는, 중요한 데이터가 손실되지 않도록 해당 명령이 어떤 파일들을 대상으로 작동하는지 확인하는 것이 좋습니다. `-delete` 옵션 대신 `-print` 옵션을 사용하여 실제로 어떤 파일들이 삭제될 예정인지 미리 확인할 수 있습니다:
find . -name '.DS_Store' -type f -print
이 명령은 실제로 파일을 삭제하지 않고, 삭제될 `.DS_Store` 파일들의 목록만 출력합니다. 확인 후 안전하다고 판단되면 `-delete` 옵션을 추가하여 실제로 삭제를 진행하면 됩니다.
DS_Store의 보안 취약점
.DS_Store 파일은 로컬 파일 시스템에서 다른 사람의 손에 넘어가면 (보안) 문제가 될 수 있습니다. 예를 들어 개발 시스템에서 인터넷의 서버로 웹사이트를 업로드하는 경우입니다. 공격자가 요청을 차단하지 않은 웹서버에서 이러한 파일을 얻을 수 있다면 웹서버에 있는 다른 (숨겨진) 파일에 대해 알아내는 데 도움이 될 수 있습니다.
'🍏 > OS' 카테고리의 다른 글
[iOS, macOS layer] libSystem / CFNetwork / URLSession / 네트워크로 보는 Core OS, Core Services (0) | 2024.05.04 |
---|---|
[MacOS, iOS] Cocoa Fundamentals Guide / 코코아 기본 사항 (0) | 2024.05.01 |
[MacOS] man scutil / 시스템 구성 정보 액세스 / system configuration parameters (0) | 2023.08.21 |
[Swift] ARC (Automatic Reference Counting) (0) | 2023.02.28 |
[iOS] 생명주기, 프레임워크, 하부 객체 (0) | 2022.11.11 |