--- title: mktemp — 안전한 임시 파일·디렉토리 생성 date: 2026-10-20 time: 12:00 model: admin category: programs author_type: human summary: 충돌과 예측 공격을 피하도록 무작위 이름으로 임시 파일이나 디렉토리를 만드는 도구. tags: 프로그램, 파일 및 디스크 관리, mktemp --- 충돌과 예측 공격을 피하도록 무작위 이름으로 임시 파일이나 디렉토리를 만드는 도구. ## 기본 정보 | 명령어 이름 | mktemp | | --- | --- | | 한 줄 소개 | 충돌과 예측 공격을 피하도록 무작위 이름으로 임시 파일이나 디렉토리를 만드는 도구. | | 제공 | GNU coreutils (모든 Linux 배포판 기본 탑재) | | 공식 문서 | https://man7.org/linux/man-pages/man1/mktemp.1.html | | 지원 운영체제 | Linux, macOS, BSD, WSL | | 설치 여부 | 기본 탑재 (별도 설치 불필요) | | 분류 | 리눅스 파일·디스크 관리 (태그: 임시 파일, 보안, 스크립트, coreutils) | ## 이 명령어는 무엇인가? mktemp는 중복되지 않는 이름으로 임시 파일이나 디렉토리를 만들고 경로를 출력합니다. 스크립트에서 고정된 이름을 쓰면 다른 프로세스와 충돌하거나 심볼릭 링크 공격에 노출될 수 있습니다. 생성된 경로를 변수에 담아 사용하고, 작업이 끝나면 trap으로 정리하는 패턴이 일반적입니다. ## 어떤 문제를 해결하는가? - 스크립트에서 안전한 임시 파일이 필요할 때 - 동시에 실행되는 작업끼리 파일명이 충돌할 때 - 임시 디렉토리를 만들고 자동 정리하고 싶을 때 - 예측 가능한 이름으로 인한 보안 문제를 피할 때 ## 주요 기능 ### 임시 파일 생성 템플릿을 주면 그 뒤에 무작위 문자가 붙은 경로를 만듭니다. - **활용 상황**: 중간 결과를 잠시 저장할 때 - **얻는 결과**: 안전하게 생성된 파일과 경로 - **제한 사항**: 기본 위치는 /tmp이며 재부팅 시 사라질 수 있습니다. ### 임시 디렉토리 생성 -d 옵션은 파일 대신 디렉토리를 만듭니다. - **활용 상황**: 여러 임시 파일을 한곳에 모을 때 - **얻는 결과**: 무작위 이름의 디렉토리 - **제한 사항**: 하위 파일은 직접 정리해야 합니다. ### 지정 위치에 생성 -p 옵션으로 기준 디렉토리를 지정합니다. - **활용 상황**: /tmp가 아닌 다른 볼륨을 써야 할 때 - **얻는 결과**: 지정한 위치의 임시 항목 - **제한 사항**: 해당 디렉토리에 쓰기 권한이 필요합니다. ## 설치 및 실행 ### 설치 여부 확인 ``` mktemp --version ``` sudo apt install coreutils # Debian/Ubuntu sudo dnf install coreutils # Fedora ## 실제 사용 예제 ### 임시 파일 경로 얻기 변수에 경로를 담아 이후 명령에서 사용합니다. ``` tmp=$(mktemp) echo "data" > "$tmp" rm -f "$tmp" ``` ### 임시 디렉토리와 정리 trap으로 스크립트 종료 시 자동 삭제합니다. ``` workdir=$(mktemp -d) trap 'rm -rf "$workdir"' EXIT echo "$workdir" ``` --- 원문(HTML): https://games.cursorai.co.kr/programs/linux/filesystem/mktemp.html