ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [EXT] 리눅스 시스템 - 아이노드
    > Information Security/Linux 2013. 10. 15. 22:45

     아이노드(Inode)는 리눅스 시스템에서 사용되는 자료구조로, 파일시스템에 관한 정보를 담고 있다. 파일 시스템 내에서 파일이나 디렉토리는 고유한 아이노드를 가지고 있으며, 아이노드넘버를 통해 구분이 가능하다.


    <아이노드가 담고 있는 정보>


     - 파일이나 디렉토리마다 하나씩 할당됨.

     - 소유자 그룹

     - 접근 모드 (w,r,x)

     - 파일 형태

     - 아이노드넘버


     이번 포스팅에서는 아이노드를 이해하기 위해 

    새로운 하드디스크를 추가하고, 파일을 생성했을 때 inode 값이 어떻게 변경되는지 확인해보도록 하겠다.



    1. 하드디스크 추가 및 파티션 추가

    1) 하드디스크 추가

    # ls /dev/sd*  

    2) 파티션 추가

    # fdisk /dev/sdb  



    주 파티션(primary partition)을 사용할 것인지, 확장 파티션(extended partition)을 사용할 것인가? p(주 파티션)

    파티션 번호 설정(1부터 4까지 선택 가능 : ext파일 시스템에서는 주 파티션은 4개까지 지정이 가능하기 때문!)

    실린더 설정을 하고나면 아래와 같이 파티션을 확인할 수 있다.





    2. 파일시스템 생성

    # mkfs.ext /def/sdb#




    3. 마운트

    # mkdir /mnt/extlab  (마운트할 디렉토리 생성)

    # mount /dev/sdb1 /mnt/extlab  (마운트할 디렉토리에 디바이스 연결)

    # mount 



    4. 덤프

    추가된 하드디스크를 좀 더 깊이 살펴보기 위해 덤프해주고, Win_HEX로 자세히 살펴보겠다.

    # dd if=/dev/sdb1 of=sdb1.dump




    Win_HEX에서는 

    Specialist > Interpret Image As Disk로 덤프한 파일을 디스크로 인식시켜 열어준다.



    5. inode값 확인

    새로 추가된 하드디스크가 마운트 된 디렉토리에서 inode 값을 확인해본다.

    # ls -ail

    # echo aaaa>a.txt (a.txt 파일 생성)

    # ls -ail (새로 생성된 파일의 inode 값 확인)




    이 때, 새로운 파일 a.txt를 생성하게 되면 inode가 12일 것으로 예측할 수 있다.




    6. lde로 더 자세한 정보 파악

    # lde /dev/sdb#

    ※ 이 때 lde를 미리 설치해두어야 한다!

    # apt-get install lde



    lde에서는 MAC(Modification, Access, Creation) TIME을 확인할 수 있을 뿐더러, 해당 블록의 위치를 알 수도 있다.


    아까 생성한 a.txt를 가리키는 블록 및 자세한 정보를 알기 위해 "h"로 0xc(a.txt의 inode의 헥사값)로 가보도록 한다.


    12번 아이노드의 정보를 담고 있는 DIRECT BLOCK과 MAC TIME 등 정보를 확인할 수 있다.




    7. WinHEX로 inode Bitmap의 inode 확인






    728x90
    반응형

    '> Information Security > Linux' 카테고리의 다른 글

    [ubuntu] Unix 침해사고 분석-스케줄링(crontab)  (0) 2017.02.11
    파일시스템  (0) 2014.01.02
    [EXT] 디렉토리 엔트리  (0) 2013.10.15
    [Linux] EXT 파일시스템 구조  (0) 2013.10.15
    입출력 방향 변경  (0) 2010.11.15
Designed by Tistory.