쿠버네티스 전문가 양성과정 3주차 4일(1/5)

최수환·2023년 1월 5일
0

Kubernetes

목록 보기
15/75
post-thumbnail

데몬 프로세스

  • 리눅스의 백그라운드에서 동작하면서 특정한 서비스를 제공하는 프로세스
  • 리눅스 시스템에서 동작하는 각종 서비스를 제공하는 프로세스들

📒 데몬 프로세스는 sshd처럼 d로 끝나는 프로세스들 , 보통 서버쪽 서비스를 제공하는 백그라운드 프로세스
📗 ssh는 보통 클라이언트 프로세스

동작 방식

  • 독자형 : 시스템의 백그라운드에서 서비스별로 항상 동작
  • 슈퍼데몬에 의한 동작 방식 : 평소에는 슈퍼데몬만 동작하다가 서비스 요청이 오면 슈퍼데몬이 해당 데몬을 동작 킴

데몬의 조상은 systemd와 커널 스레드 데몬

커널 스레드 데몬

  • 커널의 일부분을 프로세스처럼 관리하는 데몬
  • ps명령으로 확인했을 때 대괄호로 둘러싸여 있는 프로세스들
  • 입출력, 메모리관리, 디스크 동기화 같은 주로 근본적인 서비스들을 담당한다

부트로더

  • 부팅시에 OS를 선택해서 부팅한다
  • 현재는 LILO가 아닌 GRUB을 부트로더로 사용한다
    -> GRUB은 윈도우 운영체제도 선택가능
  • 부팅 시에 명령을 사용하여 수정이 가능하다
  • 멀티 부팅 기능을 지원

  • 부트로더 화면 : reboot명령으로 접속
    • 3번째 눌러서 rescue모드로 접속가능

  • e를 눌러 편집모드로 접속가능

  • UTF-8 다음에 systemd.unit=emergency.target입력
    -> emegency모드 접속가능 (target파라미터 변경)

    📒 사용자가 사용할 수 있는 Target

    • emergency.target : 긴급쉘 접속
    • rescue.target : 복구쉘 접속
    • multi-user.target : CLI환경 접속
    • graphical.target : GUI환경 접속
  • root 패스워드 복구

    • 편집 모드에서 UTF-8 다음에 rd.break를 입력해 램 디스크 초기화를 중단하는 옵션에 들어간다.
    • ctrl + x를 입력
    • 새로운 root패스워드 지정 가능

소프트웨어 패키지 설치

  • 과거에는 소스코드를 다운하고 gcc나 make를 이용해서 컴파일을 하였지만 현재는 RPM 패키지를 이용해서 간단하게 설치가 가능하다.

RPM을 이용한 패키지 설치

  • 레드햇에서 만든 패키지 관리 도구
  • 특징

    -> 의존성을 해결한것이 YUM이다

rpm 명령어

  • RPM패키지를 관리한다
  • 형식 : rpm [옵션]
  • rpm 파일 설치 : rpm -ivh rpm파일명
  • rpm 파일 설치 및 업그레이드 : rpm -Uvh rpm파일명
  • 해당 패키지 설치여부 확인 : rpm -q mc(패키지 명)
  • 현재 pc에 설치된 소프트웨어 패키지 리스트 확인 : rpm -qa
  • 해당 파일과 관련 있는 패키지 확인 : rpm -qf 특정 파일
  • 특정 패키지의 상세 정보 보기 : rpm -qi 특정 패키지
  • 패키지 설치하면서 설치된 파일 목록 확인 : rpm -ql 패키지
  • 패키지 의존성 보기 : rpm -qR 패키지
    삭제 : rpm -e 패키지명

dnf를 이용한 패키지 설치

  • dandified yum의 약자
  • 특징

    -> 패키지를 안구해와도 repository에서 패키지를 설치할 수 있다.

yum 명령어

  • 새로운 패키지 설치(의존성이 필요한 경우 의존성 패키지도 자동 설치) : yum install 패키지명

  • repository에서 어떤 패키지 설치할 수 있는지 확인 : yum list

  • repository 리스트 확인 : yum repolist

  • 설치된 리스트 보기 : yum list installed

  • 업데이트 가능한 목록 보기 : yum list updates

  • 특정 패키지에 대한 정보 보기 : yum info httpd

  • 현재 시스템에 설치된 패키지 중에서 업데이트 가능 목록 확인
    -> yum check-update

  • 모든 패키지 업데이트 : yum update

  • 해당 패키지 업데이트 : yum update 패키지명

  • 패키지 삭제 : yum remove 패키지

  • Security Tools 패키지 정보 확인 : yum groups info 'Security Tools'

  • Security Tools 그룹 패키지 설치 : yum groups install 'Security Tools'

  • Security Tools 그룹 패키지 삭제 : yum groups remove 'Security Tools'

  • yum 패키지 설치 로그 확인 : /var/log/yum.log

  • 기록보기 : yum history , yum history info id번호

  • rollback : yum history rollback id번호
    -> history에서 해당 id번호가 있는 상태로 돌아감


사용자 계정 관리

  • 리눅스는 다중 사용자 시스템이므로 사용자를 구별하고 사용자에게 적절한 자원을 할당해주는 방법이 필요
  • 사용자 계정은 사용자가 시스템에 접근할 수 있는 유일한 방법 -> 사용자를 구분하는 유일한 방법
  • 시스템 관리자의 입장에서도 사용자의 접근 권한을 통제할 수 있는 중요한 수단

/etc/passwd 파일

  • 사용자 계정 정보가 저장된 기본 파일
  • 한 행에 사용자 한명에 대한 정보가 기록되며, 쌍점(:)으로 구분되는 일곱 개의 항목으로 구성
  • 로그인 ID : 사용자 계정의 이름
  • UID : 사용자 ID번호로 시스템이 사용자를 구별하기 위해 사용하는 번호 , 사용자의 정체성을 결정
    -> UID 0번 : root계정, 권한이 가장 쎄다
    -> 0~999번 , 65534번은 시스템 사용자를 위한 UID로 예약
    -> 일반 사용자들은 UID 1000번부터 할당
  • x : 초기 유닉스에서 사용자 암호를 저장하던 항목, 요즘은
    /etc/shadow 파일에 별도로 보관
  • GID : 그룹 ID , 시스템에 등록된 그룹에 대한 정보는 /etc/group 파일에 저장
  • 설명 : 주석 값 , 사용자에 대한 일반적인 정보가 기록
  • 홈 디렉터리 : 사용자 계정에 할당된 홈 디렉터리의 절대 경로를 기록
  • 로그인 셸 : 사용자의 로그인 셸을 지정 , 페도라에서는 배시 셸을 기본 셸로 사용

/etc/shadow 파일

  • 사용자 암호에 관한 정보를 별도로 관리하는 파일
  • root 계정으로만 내용을 볼 수 있다
  • 파일을 봐도 암호화 되어있기 때문에 비밀번호를 알 수는 없다 -> 비밀번호가 8자 미만으로 짧다면 암호화를 깨기 쉽다.
    -> salt 기법 : 그냥 비밀번호만 저장하면 깨기 쉬워서 암호화된 text를 추가해서 저장

/etc/login.defs 파일

  • 사용자 계정의 설정과 관련된 기본 값을 정의
  • 패스워드 MAX, MIN, 최소길이 등이 정의 되어있다.

    📒 /etc/default/useradd에도 기본값이 설정되어 있다.

/etc/group 파일

  • 그룹에 대한 정보가 저장
  • /etc/passwd에 GID 항목에 지정된 그룹이 주(기본) 그룹이며, 사용자가 속한 2차 그룹은 /etc/group 파일에 지정

사용자 계정 생성하기

useradd

  • 사용자 계정을 생성한다
  • 형식 : useradd [옵션][로그인 ID]
  • 유저 생성 : useradd user1
  • 유저 삭제 : userdel -r user1
    📘 find / -user UID -exec rm -r {} \;
    -> 홈 디렉터리가 아니라 다른 곳에 위치한 사용자 계정 소유의 파일 검색하여 삭제하는 것이 바람직하다
  • 기본값 설정 및 보기 : useradd -D
    (/etc/default/useradd 파일을 보는 것이다)
    -> useradd -D 옵션으로 기본값 설정 바꿀 수 있다
  • 디렉터리가 존재하지 않으면 만들라는 옵션 : -m
    📘 주로 -d만 쓰지 않고 -md로 같이 사용한다
  • ex) 만료 2025-12-31 , inactive : 5 , 주석 : abcd test , 홈디렉터리 : /home/abcdtest
    -> useradd -e 2025-12-31 -f 5 -c 'abcd test'
    -md /home/abcdtest abcd2

추가정보

  • 주요 포트 목록 : 알아두면 편리하다

  • ubuntu에서는 yum대신에 apt로만 바꿔서 사용

profile
성실하게 열심히!

0개의 댓글