본문 바로가기

정보보안/시스템 보안

[UNIX/Linux 기본학습] 파일 시스템 응용

파일시스템이란?

 

파일시스템 구성도

의미

- 하드디스크와 같이 물리적인 저장장치에 파일을 생성, 저장, 관리하기 위한 논리적 자료구조를 파일시스템이라 함.

- 물리적인 저장장치는 논리적인 파티션으로 나누어지며, 파티션별로 고유한 파일시스템을 생성한다.

 

파일시스템 구성
① 부트 블록 (Boot block)
운영체제 부팅/초기화를 위한 코드(BootStrap)를 담고 있는 불록
② 슈퍼 블록 (Super Block)
파일시스템을 관리하기 위한 정보를 담고 있는 블록
③ 아이노드 리스트 (Inode List)
- 파일속성정보를 담고있는 inode 구조체 리스트
- inode에는 파일명 x, 파일명은 디렉토리로 관리
- 침해사고 발생 시, 무결성 확인을 위해 MAC Time 점검
- 특정 파일의 inode 정보는 stat 명령(리눅스)을 통해 확인 가능
속성 설명
inode number 파일시스템 내에 해당 파일을 식별하기 위한 고유식별자
파일타입 일반(정규)파일, 디렉터리, 장치파일 등 파일유형
접근권한 파일에 대한 접근권한
link count 해당 inode를 참조하는 링크 개수(하드링크 개수)
소유자 파일의 소유자(UID)
소유그룹 파일 소유그룹(GID)
파일크기 파일크기
* MAC Time ① last Modification time : 내용 마지막 수정 시간
② last Access time : 파일 마지막 접근 시간
③ last Change time : 속성 마지막 변경시간 (inode 정보 변경 시간. 소유자,접근권한 등의 속성변경)
Block index Data block 에 저장된 파일 데이터에 대한 인덱스(위치) 정보
④ Data Block
실제 파일의 내용(데이터)가 저장되는 블록. 고정크기

 

링크파일

 

의미

- 링크는 윈도우 시스템의 바로가기 아이콘처럼 기존 파일에 대한 또 다른 접근 포인트를 만들어 주는 기능

 

종류
하드 링크 & 심볼릭 링크
① 하드 링크(Hard Link)
- 기존 파일과 동일한 inode number를 가지는 파일을 생성하여 접근하는 방식 -> inode 기반
- inode number은 파일시스템별로 고유한 값 -> 동일 파일시스템 내에서만 하드링크가 가능 -> 디렉터리는 하드링크가 불가능
- 하드 링크 생성 -> 링크카운트 + 1 
- 파일 삭제 ->  링크 카운트 - 1 
- 링크카운트 = 0 -> 해당 파일의 inode 정보 및 데이터가 삭제된다.->  inode를 참조하는 파일이 있으면 삭제 불가능

② 심볼릭 링크(Symbolic Link)

- 원본 파일에 대한 파일 경로를 파일 내용으로 하는 새로운 파일 생성해서 접근하는 방식 -> 파일 경로 기반
- 파일시스템에 제한이 없고 디렉터리도 링크 가능 -> 동일 파일 시스템 내에서만 링크가 가능한 하드 링크의 단점을 보완
- 원본 파일 삭제/이동 -> 경로가 바뀜 -> 링크 끊어짐

 

입력 문법
ln
문법 ln [-s] source_file | source_directory target file
옵션 -s : 심볼릭 링크 생성 
#default : 하드 링크 생성
예문 ln a.dat a_hl.dat 
# a.dat 파일에 대한 하드 링크 파일 (a_hl.dat) 생성
ln -s b.dat b_sl.dat
# b.dat 파일에 대한 심볼릭 링크 파일 생성 (b_sl.dat) 생성
설명 하드 링크는 파일만 가능/ 심볼릭 링크는 파일,디렉토리 모두 가능

 

디렉터리 관리
디렉터리가 파일이라는 점, 알고 계셨나요?

 

입출력 객체 계층 구조
일반파일 & 디렉터리 & 특수파일
입출력 객체 일반파일  
디렉터리
특수파일 파이프 이름 있는 파이프  
이름 없는 파이프  
소켓    
주변 장치 블록단위 테이프
디스크
문자단위 테이프
디스크
터미널
① 일반(정규) 파일
텍스트 파일이나 실행파일 등 텍스트나 파이너리 형태의 데이터를 저장하고 있는 파일

② 디렉터리
디렉터리에 포함된 파일명과 해당 파일의 inode number 정보를 목록으로 가지고 있는 특별한 파일

③ 특수 파일
기능에 따라 다양한 형태로 존재하며 표준 입출력 시스템 호출을 통해 참조된다.
- 프로세스 간 통신(IPC : Inter-Process Communication) 목적의 특수파일 : 파이프, 소켓 ..
- 디스크, 프린터, 터미널, 키보드 등의 입출력 장치를 사용하기 위한 장치 파일