웹 서버에서 많이 사용되는 리눅스 OS의 루트 폴더는 어떻게 구성되어 있는지 알아보았다.
리눅스의 파일 시스템 구조
트리(Tree)구조로 되어있다.
각 디렉토리는 파일 시스템 계층 구조 표준(FHS)에 맞게 구성된다.
유사한 성격/기능을 가진 파일들을 같은 디렉토리에 모아 쉽게 이해하고 접근할 수 있다.
미리 디렉토리별 성격을 알고 있다면 리눅스를 이해하는데 큰 도움이 될 것이다.
/
모든 디렉토리의 최상위 디렉터리이다.
저장장치(C:/, D:/)가 루트가 되는 윈도우와 달리 리눅스는 저장장치도 장치로 보고 /dev 에 포함된다.
/bin
기본적인 리눅스 명령어를 담고 있는 디렉터리이다.
일반 사용자들도 접근할 수 있다.
/boot
부팅에 필요한 중요한 파일을 담고 있는 디렉터리이다.
부트로더, 커널 등이 있기 때문에 별도의 파티션을 구성하여 안전하게 보관한다.
/dev
시스템의 각종 물리적 장치들이 파일 형태로 매핑된 디렉터리이다.
디렉토리 내 장치에 접근하여 읽기 쓰기가 가능하다.
/etc
시스템 및 설치 프로그램의 환경 설정 파일( .conf )을 담고 있는 디렉터리이다.
/etc/passwd 와 같이 시스템 계정 정보를 담고 있는 파일이 존재한다.
/home
사용자 계정의 홈 디렉터리들을 담고 있는 디렉터리이다.
사용자의 이름과 동일하며 새로운 사용자 생성시 같이 생성된다.
사용자는 "~" 기호를 통해 자신의 홈 디렉터리에 접근할 수 있다.
/media, /mnt
CD-ROM, USB와 같은 외부 파일 시스템이 마운트되는 위치이다.
media는 자동으로 마운팅되는 지점으로 사용되며 mnt는 사용자가 직접 마운트하는 지점으로 사용된다.
(ex) USB를 그냥 꽂으면 media 디렉터리에 마운트 된다.
/opt
빌드된 상태로 배포되는 응용프로그램의 기본 설치 위치이다.
/proc
현재 동작중인 프로세스의 정보를 담고 있는 디렉터리이다.
실제 디스크 공간에는 존재하지 않는 가상 디렉토리이다.
/root
루트 관리자의 홈 디렉토리이다.
관리자 계정에서 "~" 기호를 통해 접근할 수 있다.
/sbin
bin 디렉토리와 유사하지만 루트 관리자만 권한을 갖는 프로그램을 담고 있다.
/sys
리눅스 커널과 관련된 정보가 있는 디렉터리이다.
현재 시스템 전반에 대한 내용을 제공한다.
시스템 부팅 시 매번 새로 작성된다.
/srv
서버를 위한 디렉터리이다.
ftp, http, cvs 등 서비스를 제공하기 위한 파일들이 있다.
/tmp
임시로 파일을 생성, 수정, 삭제할 수 있는 디렉터리이다.
다른 디렉터리와 달리 모든 사용자에게 권한이 부여된 공간이다.
시스템 재시작시 대부분 보존되지 않는다.
/usr
사용자 데이터가 있는 보조 계층 구조이다.
사용자의 유틸리티와 애플리케이션 등을 포함하고 있다.
/usr/bin : 응용 프로그램의 실행 파일, 비 필수 사용자 명령어들이 있다.
/usr/sbin : 설치된 응용프로그램에서 관리자 권한이 필요한 명령어들이 있다.
/usr/include : C 프로그램에 포함되는 헤더 파일들을 담고 있다.
/usr/lib : 응용 프로그램을 실행하기 위한 라이브러리들이 있다.
/usr/local : 로컬로 설치된 프로그램들이 존재하는 디렉터리이다.
/usr/share : 아키텍처에 독립적인 텍스트 파일들을 담고 있다.
/var
시스템 운영 중 자주 변경되는 데이터들이 저장된 디렉터리이다.
/var/cache : 응용 프로그램으로 부터 캐시된 데이터가 저장된다.
/var/log : 다양한 종류의 로그 파일이 저장된다.
참조
'보안 이론 > 시스템 보안' 카테고리의 다른 글
리눅스 로그 데이터 분석 및 추출 (0) | 2022.10.01 |
---|---|
Metasploit을 이용한 시스템 취약점 점검 실습 (0) | 2022.09.26 |