- Unix 주요 디렉터리
▶ 전형적인 Unix 디렉터리 구조
디렉터리 | 설명 |
/ | root 디렉터리나 최상위 디렉터리이다. |
/etc | 시스템의 환경 설정 및 주요 설정 파일을 담고 있다.(passwd, hosts 등) |
/dev | 프린터나 터미널 같은 물리적인 장치를 다루기 위한 특수파일들을 담고 있다. |
/usr/bin | 기본적으로 실행가능한 파일을 담고 있다.(echo, mv, copy, pwd 등) |
/usr/include | C 언어 라이브러리 헤더 파일이 저장되는 디렉터리이다. |
/usr/lib | 기본 프로그램의 모듈을 담고 있다. |
/usr/sbin | 시스템 관리 명령어가 저장되는 디렉터리이다. |
/home | 사용자 홈 디렉터리가 저장되는 디렉터리이다. |
/tmp | 프로그램 실행 및 설치 시 생성되는 임시파일을 담고 있다. 이 디렉터리에 파일을 저장하면 재부팅 시 임의로 삭제될 수 있다. |
/var | 시스템 로그가 저장되는 디렉터리이다. |
- Linux 디렉터리 및 파일
▶ 로그 및 데이터 파일 저장위치
디렉터리 | 설명 |
/var/www | 웹 문서 및 기타 웹 서버에서 사용되는 파일을 저장 |
/var/lib | 시스템의 각종 서비스에서 자료를 저장할 때 사용. 데이터베이스 등이 이에 속함 |
/var/lib/mysql | MySQL 데이터베이스의 데이터가 저장됨 |
/var/lib/pgsql, /var/lib/postgresql | PostgreSQL 데이터베이스의 데이터가 저장된다. |
/var/log | 시스템 서비스 등의 로그를 저장할 때 사용한다. 웹 서버 로그가 보통 여기에 위치한다. |
/var/cache | 캐시 데이터를 저장한다. 일반적으로 삭제되어도 재생성이 가능하다. |
/media | 제거 가능한 매체(USB 플래시 메모리, 기타 이동 저장장치 등)를 마운트할 때 주로 사용된다. |
/mnt | 기타 파일시스템을 임시로 마운트하는 용도로 주로 사용된다. |
▶ 설정 파일
디렉터리 및 파일 | 설명 |
/etc | 운영체제 초기 부팅 시 필요한 최소한의 명령어를 구현하는 프로그램 파일을 저장한다. |
/etc/apache2, /etc/httpd | Apache Web Server의 설정 정보를 저장한다. |
/etc/nginx | Nginx 웹 서버의 설정 정보를 저장한다. |
/etc/mysql | MySQL 데이터베이스 서버의 설정 정보를 저장한다. |
/opt/etc | 추가적으로 설치된 프로그램의 설정 정보를 저장한다. 존재하지 않을 수도 있다. |
/etc/mysql/my.cnf | MySQL 데이터베이스 서버의 주 설정파일이다. |
/etc/passwd, /etc/group | 사용자 및 그룹 정보를 저장한다. |
/etc/shadow, /etc/gshadow | 사용자 및 그룹의 인증 비밀번호를 암호화하여 저장한다. 일반적으로 관리자 및 권한 있는 프로그램만이 접근할 수 있다. |
/etc/hostname | 현재 시스템의 호스트네임을 저장한다. |
/etc/hosts | 호스트네임의 실주소를 탐색할 때 사용되는 정적 순람표이다. |
/etc/fstab | 현재 시스템에 등록할 파일시스템의 목록을 저장한다. |
▶ 장치 및 가상 파일 : 운영 체제를 구성하기 위한 파일, 각각 파일은 커널 기능과 밀접한 관련
디렉터리 및 파일 | 설명 |
/dev | 각종 디스크 및 장치 파일을 제공한다. |
/sys | 하드웨어(주변기기 등) 및 플랫폼에 접근할 수 있도록 한다. |
/proc | 프로세스 및 시스템 정보를 제공하는 가상 파일시스템이 위치한다. |
/proc/sys | 운영체제의 동작을 제어할 수 있는 각종 파라미터가 위치한다. |
/proc/self/net (또는 /proc/net) | 운영체제 네트워크 계층의 다양한 정보를 제공한다. |
/dev/null, /dev/zero, /dev/full, /dev/random, /dev/urandom | 실제 물리적인 장치를 나타내지는 않지만 자주 사용되는 특수 파일. |
/dev/pts | 유사터미널(pseudoterminal) TTY 장치가 위치한 디렉터리로 SSH 터미널 또는 터미널 에뮬레이터 등에서 사용된다. |
/dev/stdin -> /proc/self/fd/0 | 파일 디스크립터 0, 즉 표준입력(standard input)에 사용된 파일을 나타내는 심볼릭 링크. |
/dev/stdout -> /proc/self/fd/1 | 파일 디스크립터 1, 즉 표준출력(standard output)에 사용된 파일을 나타내는 심볼릭 링크. |
/dev/stderr -> /proc/self/fd/2 | 파일 디스크립터 2, 즉 표준오류출력(standard error)에 사용된 파일을 나타내는 심볼릭 링크. |
▶ 프로그램 및 라이브러리 : 프로그램의 명령어가 저장된 위치, 이들을 실행하기 위한 라이브러리의 위치
디렉터리 | 설명 |
/bin, /sbin | 운영체제 초기 부팅 시 필요한 최소한의 명령어를 구현하는 프로그램 파일을 저장한다. |
/boot | 커널이나 부트로더 옵션 등 부팅에 필요한 파일을 저장한다. |
/lib, /lib64, /libx32 | 운영체제 초기 부팅 시 필요한 최소한의 라이브러리 파일을 저장한다. |
/opt | 추가적인 프로그램을 저장한다. |
/usr/bin | 각종 명령어 및 프로그램 파일을 저장한다. |
/usr/sbin | 시스템 관리자가 주로 사용하는 각종 명령어 및 프로그램 파일을 저장한다. |
/usr/lib, /usr/lib64, /usr/libx32 | 시스템에서 공유되는 라이브러리 파일을 저장한다. |
/usr/share | 기타 시스템에서 공유되는 파일을 저장한다. |
▶ 임시 파일 : 운영 체제 및 서비스에서 사용하는 임시 디렉터리 또는 파일을 의미한다.
디렉터리 | 설명 |
/tmp | 임시 파일을 저장한다. 시스템 재시작(재부팅) 시 저장한 파일이 삭제될 수 있으며, 용량에 상당한 제한이 있을 수 있다. 디스크 또는 메모리상(tmpfs)에 존재할 수 있다. |
/var/tmp | 임시파일을 저장한다. 시스템 재시작(재부팅)시에도 일반적으로 유지된다. |
/run (/var/run) | 부팅 후 생성된 각종 런타임 데이터 및 IPC 소켓 등이 이곳에 위치한다. 일반적으로 디스크에 저장되지 않고 메모리 상에서만 존재한다(tmpfs). |
/var/run/postgresql | PostgreSQL 소켓 등이 위치한다. |
/var/run/mysql | MySQL 소켓 등이 위치한다. |
/dev/shm | Linux 'shm_open(3)' C라이브러리 함수에서 사용된다. 일반적으로 디스크에 저장되지 않고 메모리 상에서만 존재한다(tmpfs). 시스템에 따라 존재하지 않을 수도 있다. |
출처 : dreamhack.io
'정보보안(웹해킹) > File Vulnerability' 카테고리의 다른 글
File Vulnerability 대응방안 (0) | 2022.12.23 |
---|---|
File upload vulnerability 추가 내용 (Attack Vector, Webshell extensions etc) (0) | 2022.12.21 |
.htaccess 취약점 (0) | 2022.12.16 |
File download, LFI, RFI (1) | 2022.12.15 |
File Upload 개요 (0) | 2022.12.09 |
댓글