유닉스 리눅스

반응형

File System

 - 물리적 저장장치에 파일을 생성, 저장, 관리하기 위한 논리적인 자료구조 시스템

 - File System 구조

Boot Block Super Block I-node list Data block

  1. Boot block : 부팅을 위한 bootstrap 코드를 담고 있는 블록

  2. super block : 파일 시스템 관리를 위한 정보를 담고 있는 블록

  3. i-node list :  file에 대한 속성정보를 관리하기 위한 블록

    ˙ i-node number : file system에서 file의 고유 식별자

    ˙ file type

    ˙ 권한

    ˙ link-count : 하드 링크 개수

    ˙ owner : 파일의 UID

    ˙ group :  파일의 GID

    ˙ 파일크기

    ˙ MAC-Time(무결성 검증을 위해서 알아야 함)

      - last modification time : 파일내용 수정 최신화 날짜

      - last access time : 파일에 마지막으로 접근한 날짜

      - last change time : 파일 속성을 마지막으로 변경한 날짜(UID, Permission 등의 최종 변화 시간)

    ˙ Block-index : 파일 위치를 알 수 있는 index 값

4. I-node에는 file명이 없다 -> 디렉터리에 파일명 - inode number 형태로 존재

 

Link

 - Windows에서 바로가기와 같은 역할을 수행

 - Link의 종류에는 하드 링크와 심볼릭 링크가 존재함

 1. hard link(.hln)

  ˙ 원본 파일과 동일한 파일을 생성(I-node number도 동일)

  ˙ hardlink 생성 시 i-node의 link-count가 증가하게 되고 삭제 시 link-count가 감소하게 되며 link-count가 0이 되는 순간 완전히 삭제

  ˙ 디렉터리는 하드링크 설정 불가

 2. Symbolic link(.sln)

  ˙ 심볼릭 링크 파일 생성 시 원본가 다른 I-node number를 가진 file을 생성하게 됨

  ˙ 원본 file에 대한 경로, 링크 정보를 담고 있는 파일

  ˙ 파일 삭제 시 원본은 삭제되고 원본과 연결되어 있던 심볼릭 링크 파일은 깨지게 됨

  ˙ 디렉터리에 심볼릭 링크 설정이 가능함 

  ˙ Race-Condition 공격에 이용 

반응형