웹서버를 운영하면 /tmp
가 필요하다. 이 디렉토리는 누구나 읽고, 쓰고, 실행하게끔 기본으로 설정되며 또한 파티션 없이 사용하는 경우도 있으나 꼭 tmp "파티션" 을 생성하여 사용하기를 권장한다.
80포트(아파치, 즉 일반 홈페이지 방문시 브라우저에서)를 이용하여 /tmp에 악성. 해킹 스크립트를 넣어서 실행 시킬수 있으며 서버보안에 치명적일수 있다.
서버를 처음 설치시 작업을 진행하는 것이 좋다. 이미 구동중인 서버라면 /tmp 를 사용하는 모든 프로세스를 멈추고 진행한다(MySQL, Apache, Plesk, Postgers, SpamAssain, etc).
파티션 체크 및 백업
아래 명령어를 이용하여 현재 파티션이 /tmp 파티션을 분리하여 설치했는지 아닌지를 살펴본다.
df -h
/tmp 를 사용하는 모든 프로세스를 종료후에 /tmp의 백업과 /etc/fstab의 백업을 만든다.
cp -Rp /tmp /tmp-backup
cp /etc/fstab /etc/fstab.backup
설치시 /tmp를 파티션을 나눴을 경우
이 경우 간단히 /etc/fstab 파일의 /tmp 파티션에 nodev,noexec, nosuid를 추가하면 된다.
vi /etc/fstab
UUID=.... /tmp ext4 defaults,nodev,nosuid,noexec 1 2
파티션을 다시 마운트 하도록 하자
mount -o remount /tmp
/tmp 파티션이 없고 / 디렉토리 이하에 존재하는 경우
이 경우에는 새로운 /tmp 파티션을 원하는 사이즈로 생성하는 것이 좋다.(나는 10Gb)
1. 새로운 파티션 생성과 포맷
cd /var
dd if=/dev/zero of=tmpmount bs=1 count=0 seek=10G
mkfs.ext4 /var/tmpmount
위의 마지막 명령에 의해 질의문이 뜰수 있는데 y 를 선택하도록 한다.
2. /etc/fstab 에 내용 추가
echo "/var/tmpmount /tmp ext4 loop,rw,noexec,nosuid,nodev 0 0" >> /etc/fstab
3. /tmp 파티션 마운트
mount -o loop,rw,noexec,nosuid,nodev /var/tmpmount /tmp
4. 소유권과 사용권한 부여
chmod 0777 /tmp
chown root.root /tmp
/tmp 복구와 /var/tmp 설정
위의 /tmp 설정들이 문제없이 진행되었다면 아래의 설정을 따라한다.
1. /tmp 복구와 백업 삭제
cp -Rp /tmp-backup/* /tmp/
rm -rf /tmp-backup
2. /var/tmp 삭제와 심볼릭 링크 걸기
rm -rf /var/tmp/
ln -s /tmp/ /var/tmp
3. 재부팅
reboot
4. 파티션 확인
df -h
'리눅스 > CentOS' 카테고리의 다른 글
[CentOS] 네트워크 설정 (1) | 2013.05.28 |
---|---|
[CentOS] RPM - 설치된 패키지 정보 확인하기 (0) | 2013.05.28 |
[CentOS] 설치 완료후 시스템 확인하기 (0) | 2013.05.28 |
[CentOS] CentOS 6.4 netinstall (1) | 2013.05.28 |
[CentOS] CentOS 6.4 다운로드 (0) | 2013.05.28 |