IT/정보보안기사

시스템 보안 - 2장. Unix(Linux) 시스템 기본

다파라파라 2023. 7. 19. 17:27

1. 유닉스 시스템의 정의 및 구성요소

교육 및 연구 기관에서 즐겨 사용되는 범용 다중 사용자 방식의 대화식, 시분할처리 운영 체제
Kernel < System calls < Shell Library routiness < Application

  1-1. 커널(Kernel)

- CUP, 메인 메모리, 하드디스크 등의 하드웨어 자원을 제어
- 프로세스 스케줄링, 기억장치관리, 파일관리, 시스템 호출(System Call), 입출력 서비스 등의 기능 제공

  1-2. 시스템 호출(system calls)

- 사용자 프로그램이 커널에 접근하는 인터페이스 제공

  1-3. 쉘(Shell)

운영체제와 사용자 간에 대화하기 위한 기반을 제공하는 명령어 해석기(Command Interpreter)

쉘(Shell)의 종류
  - Bourne Shell : AT&T사 Steve Bourne
  - C 셸(csh) : Berkeley 대학 Bill Joy
  - Korn 셸(ksh) : AT&T사 David Korn
  - Bash 셸(bash) : Bourne again Shell의 약자로 ksh과 csh의 장점 결합

  1-4. 응용 프로그램(Application)

특정한 업무를 수행하기 위해 개발된 응용 소프트웨어

 

2. 시스템 기본

  2-1. 시스템 접근

가. 로그인 과정
  ① 사용자 계정과 패스워드를 입력하면 로그인을 담당하는 프로그램은 입력한 패스워드와
       /etc/passwd 파일의 해당 필드를 비교
  ② 패스워드 확인 후 로그인 프로그램은 쉘이 사용할 변수들을 근거로 초기 환경을 설정하고
       HOME, SHELL, USER, LOGNAME 변수들은 /etc/passwd 파일에 기록된 정보로 값이 설정
  ③ 모든 철차가 끝나면 로그인 쉘 실행
  ④ 로그인 쉘(/bin/sh, /bin/csh, /bin/ksh 등)은 일반적으로 /etc/passwd 파일의 마지막 필드에 정의

나. 로그아웃 과정
  ① UNIX 시스템에서 로그아웃할 때 사용하는 명령어로는 logout과 exit가 있으며
      키보드의 [Ctrl+d] 조합키를 사용

  2-2. 사용자의 패스워드 관리

- 유닉스 시스템을 이용하는 사용자의 계정과 인증을 관리
- /etc/passwd 파일은 UNIX 시스템에 등록된 사용자 계정의 정보 저장
- 이전 과거에는 패스워드를 인코딩하여 /etc/passwd 파일의 두 번째 필드에 저장하였지만 보안상 문제로 인해
  최근 유닉스 시스템에서는 /etc/shadow 파일에 암호화된 패스워드를 저장
- /etc/passwd 파일 구조
  [user_account]:[user_password]:[user_ID]:[group_ID]:[comment]:[home_directory]:[login_shell]
- /etc/shadow 암호화된 패스워드가 저장되도록 하고 관리자만이 읽을 수 있도록 제한
  (보통 root 권한만 읽기 가능)    
  [user_account]:[encrypted_password]:[last_change]:[minlife]:[maxlife]:[warn]:[expires]

3. 파일시스템과 링크(link)파일

  3-1. 파일시스템(File System)

- 최상위에 루트(root) 디렉터리를 가지는 계층화된 트리(Tree) 구조를 가지며 디렉터리와 파일로 구성
  /{bin, dev, etc, home, usr[bin(IS, ps), bin, bin], ..., var}

디렉터리 명 및 설명
  /root : 최상위 디렉터리
  /etc : 시스템의 환경 설정 및 주요 설정 파일
  /dev : 프린터나 터미널 같은 물리적인 장치 파일 정보
  /usr/bin : 기본적으로 실행 가능한 파일 정보
  /usr/include : C 언어 라이브러리 헤더 파일이 저장
  /usr/lib : 기본 프로그램의 모듈 정보
  /usr/sbin : 시스템 관리 명령어가 저장
  /home : 사용자 홈 디렉터리가 저장
  /tmp : 프로그램 실행 및 설치 시 생성되는 임시 파일
  /var : 시스템 로그가 저장되는 디렉터리

 3-2. 링크(link)파일의 정의

- 링크(link)는 윈도우의 바로가기 아이콘처럼 기존 파일에 대한 또 다른 접근 포인트를 만들어주는 기능
- 링크에는 하드 링크(Hard link)와 심볼릭 링크(Symbolic link)로 구분
가. 하드 링크(Hard link)
  - 하드 링크는 원본 파일과 동일한 inode를 직접적으로 가리킨다.
  - 원본 파일이 사라지더라도 데이터만 살아 있다면 원본 파일에 접근이 가능하다.

나. 심볼릭 링크(Symbolic link)
  - 심볼릭 링크(소프트 링크)의 경우는 만들게 되면 또 다른 inode를 생성해서 이를 바라본다.
  - 복사 생성된 inode는 포인터를 카리키고, 포인터는 다시 원본 파일을 가리키는 것이다.
[입력 문법]
  - 문법 : In [-s] source_file | source_directory target_file

  - 옵션 : -s (이 옵션이 있으면 심볼릭 링크를, 없으면 하드 링크 생성)
  - 예문 :  $ in /usr/local/include/mylib.h ~/work/include/mylib.h /*하드 링크 */

 

4. UNIX 기본 사용법

  4-1. ls 명령어

가. ls 명령어(list) 옵션
  -R : 지정한 디렉토리이하에 있는 하부디렉토리와 파일들을 모두 포함(Recursive)
  -r : 출력결과를 정열할 때에서 내림차순으로 정렬(Descending)
  -S : 파일사이즈가 가장 큰 것부터 순서대로 나열
  -l : 파일들을 나열할때 자세히 출력
  -a : 경로안의 모든 파일을 나열(숨김파일도 포함)
  -h : 파일사이즈를 용량단위(Mb,Gb)를 붙여서 출력
  -n : 파일의 소유자와 소유그룹을 표기할때 숫자로 UID, GID를 출력
  -U : 디스크의 저장순서대로 파일을 나열
  -i : 각 파일들의 색인번호(inode)를 각 행의 맨 앞에 출력.
  -1(숫자1) : 한 줄에 한 파일씩만 나열
  -X : 확장자별로 정열하여 나열
  -F : 파일의 종류별로 파일의 끝에 특수문자를 표시

나. ls 명령 실행 결과 및 설명
①-②rw-③r--④r-- ⑤1 ⑥username ⑦groupname    ⑧11419 ⑨Nov 18 00:05 ⑩filename.txt
[①파일유형][②소유자권한][③그룹권한][④기타사용자권한][⑤링크수][⑥파일소유자이름]
[⑦파일소유자그룹이름][⑧파일크기][⑨마지막변경일시][⑩파일이름]
  ① 파일유형 - 일반(정규) 파일
    d : 디렉터리 파일
    l : 심볼릭 링크 파일
    b : 블록 장치 특수 파일
    c : 문자 장치 특수 파일
    p : 파이프, 프로세스간 통신에서 사용되는 특수 파일
    s : 소켓, 네트워크 통신에서 사용되는 특수 파일
  ② user : 파일을 만든(생성) 소유자
   읽기 r (4) 파일을 읽거나 복사 가능 ls 명령으로 디렉터리 목록 확인 가능
   쓰기 w (2) 파일을 수정, 이동, 삭제 touch, mkdir, rmdir, rm 등 사용 가능
   실행 x (1) 파일을 실행 가능 cd 명령 사용 가능
  ③ group : 파일을 만든 소유자가 속한 그룹의 사용자
  ④ other : 기타 사용자
  ⑤ 하드 링크 수(Hard Link) : 링크 카운터(Link Counter)라고도 하며
      동일한 i-node를 참조하는 파일의 수
  ⑥ 소유주 : 해당 디렉터리 및 파일의 소유주
  ⑦ 소유 그룹 : 해당 디렉터리 및 파일의 소유주
  ⑧ 파일크기
  ⑨ 마지막변경일시
  ⑩ 파일이름

 4-2. chmod 명령어

가. 유닉스/리눅스 chmod 명령어(Change Mode)
  - 기존 파일 또는 디렉터리에 대한 접근권한을 변경
    문법 : chmod [-c -f -v -R] [모드] [파일명(들)]
    예) chmod 777 filename.txt
    -rwxrwxrwx 1 username groupname    11419 Nov 18 00:05 filename.txt

나. 유닉스/리눅스 chmod 명령어(Change Mode) 옵션
  - c : 실제로 파일의 권한이 바뀐 파일만 자세히 설명
  - f : 파일의 권한이 바뀔 수 없어도 에러 메시지를 출력 안함
  - v : 변경된 권한에 대해서 자세히 기술함
  - R : 디렉터리와 파일의 권한을 모두 바꿈

다.소유권 또는 그룹 변경 chown/chgrp 명령어
  - 파일이나 디렉터리의 소유주나 그룹 변경
    문법 : chown [옵션] 소유자 파일

 

 

728x90
반응형