파일시스템이란?
의미
- 하드디스크와 같이 물리적인 저장장치에 파일을 생성, 저장, 관리하기 위한 논리적 자료구조를 파일시스템이라 함.
- 물리적인 저장장치는 논리적인 파티션으로 나누어지며, 파티션별로 고유한 파일시스템을 생성한다.
파일시스템 구성
① 부트 블록 (Boot block)
운영체제 부팅/초기화를 위한 코드(BootStrap)를 담고 있는 불록
② 슈퍼 블록 (Super Block)
파일시스템을 관리하기 위한 정보를 담고 있는 블록
③ 아이노드 리스트 (Inode List)
- 파일속성정보를 담고있는 inode 구조체 리스트
- inode에는 파일명 x, 파일명은 디렉토리로 관리
- 침해사고 발생 시, 무결성 확인을 위해 MAC Time 점검
- 특정 파일의 inode 정보는 stat 명령(리눅스)을 통해 확인 가능
④ Data Block
속성 설명 inode number 파일시스템 내에 해당 파일을 식별하기 위한 고유식별자 파일타입 일반(정규)파일, 디렉터리, 장치파일 등 파일유형 접근권한 파일에 대한 접근권한 link count 해당 inode를 참조하는 링크 개수(하드링크 개수) 소유자 파일의 소유자(UID) 소유그룹 파일 소유그룹(GID) 파일크기 파일크기 * MAC Time ① last Modification time : 내용 마지막 수정 시간
② last Access time : 파일 마지막 접근 시간
③ last Change time : 속성 마지막 변경시간 (inode 정보 변경 시간. 소유자,접근권한 등의 속성변경)Block index 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) 목적의 특수파일 : 파이프, 소켓 ..
- 디스크, 프린터, 터미널, 키보드 등의 입출력 장치를 사용하기 위한 장치 파일
'정보보안 > 시스템 보안' 카테고리의 다른 글
[UNIX/Linux 기본학습] 시스템 시작과 종료 (1) | 2024.11.10 |
---|---|
[UNIX/Linux 기본학습] 프로세스 응용 (1) | 2024.11.10 |
[UNIX/Linux 기본학습] 입출력 재지정(I/O Redirection) 기능 (0) | 2024.11.09 |
[UNIX/Linux 기본학습] 계정 정보 (0) | 2024.11.09 |
[윈도우 기본학습] 윈도우 인증 (0) | 2024.11.09 |