Linux - (18) : 리눅스 파일 시스템

­이승환·2021년 9월 5일
0

리눅스 정리

목록 보기
18/21

목표


  • 파일과 파일시스템
  • 리눅스 파일시스템
    1. Linux Directory
    1. Inode
    2. Link
    3. Permission
      5. file execute order

파일과 파일 시스템


파일이란?

데이터나 프로그램 등을 담는 그릇, 대부분 2진수로 구성되어 있는 실행파일을 말함

파일 시스템이란?

파일을 관리하는 시스템, 리눅스는 파일 시스템이 ext, ext1, ext2, xfs .. .등 점차 발전해왔음

리눅스 파일 시스템


디렉토리

파일을 관리하는 폴더라고 이해하면 된다. 디렉토리 또한 파일임

디렉토리의 구조

트리구조 vs 그래프 구조 정답은?

메타데이터란?

파일들을 관리할 정보를 담고 있음, 파일의 이름 + 확장자 + 권한 정보 + 접근 날짜 + 수정날짜... 등

Inode?

파일 이름을 제외한 파일의 메타데이터

메타데이터란?

파일들을 관리할 정보를 담고 있음, 파일의 이름 + 확장자 + 권한 정보 + 접근 날짜 + 수정날짜... 등

디렉토리 엔트리

File name + Inode를 가르키는 포인터

Symbolic Link & Hard Link

# ln - s [원본파일] [대상파일] // symbolic
# ln [원본파일] [대상파일] // hard

Permission

<예시>

# drwxr-xr-x  2  root  root  4096 Apr 22 16:59 conory
  • 파일 Type : "d" -> 디렉토리 , "l" -> 링크파일 , "-" -> 일반파일....
  • 퍼미션정보 : user, group, other 순서대로 권한 표시
  • 링크수 : 해당 파일이 링크된 수!
  • 소유자 : 해당 파일의 소유자 id
  • 소유그룹 : 해당 파일을 소유한 그룹id
  • 용량 : 파일의 용량
  • 생성날짜 : 파일이 생성된 날짜
  • 파일이름 : null

# chmod u+r ./test.sh
# chmod u-r ./test.sh
# chmod u=rwx ./test.sh
# chmod 700 ./test.sh

특수 권한

  • SET-UID

SetUID가 설정된 파일을 실행할 때, 일시적으로 파일 소유자의 권한을 얻어 실행

# chmod u+s ./test.sh
# cmod 4700 ./test.sh
  • SET_GID

SET_GID 가 설정된 파일을 실행할 때, 일시적으로 파일 그룹의 권한을 얻어 실행

# chmod g+s ./test.sh
# cmod 2700 ./test.sh
  • Sticky Bit

Sticky Bit가 설정된 디렉토리에 파일을 생성하면 해당 파일은 생성한 사람의 소유가 되며
소유자와 root만이 해당 파일에 대한 삭제 및 수정에 대한 권한을 가질 수 있음
즉, Sticky Bit가 설정된 디렉토리안에 누구나 파일을 생성할 수는 있지만 삭제는 본인과 관리자만 가능

# chmod u+t ./test.sh
# cmod 1700 ./test.sh

umask

파일과 디렉토리를 생설할 때, 자동으로 설정되는 Permission number를 결정하는 값으로 default 022로 설정되어있음 디렉토리의 경우 777에서 제외하고, 파일의 경우 666에서 제외시킴 값을 확인하기 위해서는 umask, umask -S를 이용함

파일 실행 순서

profile
Mechanical & Computer Science

0개의 댓글