기술 정보
home
채널 소개
home

리눅스 /tmp 디렉토리 보안 설정

문서 유형
장애 해결
분야
관리/환경설정
키워드
/tmp
linux
리눅스
적용 제품 버전
5SP1FS01
5SP1FS02
5SP1FS03
5SP1FS04
5SP1FS06
6FS01
6FS02
6FS03
6FS04
6FS05
6FS06
6FS07
6FS07PS
7FS01
7FS02
7FS02PS
1 more property

현상

리눅스 시스템에서 /tmp 디렉토리가 777 권한과 실행 허용 상태일 시, 악성 스크립트나 실행파일이 쉽게 저장되고 실행될 수 있는 등 아래와 같은 보안 위협이 발생할 수 있습니다.
악성코드 실행
권한 상승(SUID)
장치 파일 접근(device file 등)
참고
777 권한: 모든 사용자 읽기/쓰기/실행 가능
/tmp: 시스템/사용자/애플리케이션이 임시 파일을 저장하는 표준 경로

원인

리눅스 시스템에서는 /tmp 디렉토리가 기본적으로 777 권한으로 설정되어 보안 취약 지점이 됩니다.

해결

보안 마운트 옵션을 /tmp에 설정함으로써 보안을 강화할 수 있습니다.
noexec, nosuid, nodev 옵션을 설정해 실행 및 권한 상승, 장치 접근을 차단하고 /var/tmp도 /tmp로 연결하여 보안 설정을 통합 적용할 것을 권장합니다.

보안 마운트 옵션

nodev : 장치 파일 무효화 (예: /dev/null 등의 접근 차단)
nosuid : SUID(권한 상승) 기능 차단
noexec : 실행 파일 직접 실행 차단 (예: ./파일 실행 불가)

적용 방법

Case 1. /tmp가 별도 파티션인 경우

1.
/etc/fstab에 아래의 라인을 추가합니다.
UUID=<tmp 디스크 UUID> /tmp ext4 defaults,nodev,nosuid,noexec 0 0
SQL
복사
2.
/var/tmp → /tmp 심볼릭 링크를 설정합니다.
ln -s /tmp /var/tmp
SQL
복사
3.
재부팅 또는 mount -a 명령어를 실행합니다.

Case 2. /tmp가 별도 파티션이 아닐 경우 (가상 디스크 구성)

1.
임시 디스크 파일 생성 및 포맷합니다.
dd if=/dev/zero of=/var/tmpmount bs=1 count=0 seek=1G mkfs.ext4 /var/tmpmount
SQL
복사
2.
/etc/fstab에 아래의 라인을 추가합니다.
/var/tmpmount /tmp ext4 defaults,nodev,nosuid,noexec 0 0
SQL
복사
3.
마운트 및 권한을 설정합니다.
mount -o defaults,nodev,nosuid,noexec /var/tmpmount /tmp chmod 0777 /tmp
SQL
복사
4.
/var/tmp → /tmp 심볼릭 링크 설정합니다.
ln -s /tmp /var/tmp
SQL
복사
참고
noexec 옵션을 설정하면 /tmp 디렉토리에서 직접 실행(예: ./파일명)이 차단됩니다.
일부 시스템/스크립트가 /tmp를 실행 경로로 사용할 경우, 실행 차단으로 인해 동작이 안 될 수 있으므로 사전 테스트를 권장합니다.
/var/tmp를 기존에 사용하고 있다면, 링크 설정 전 데이터 백업이 필요합니다.