본문 바로가기
GOORM

GOORM: Kubernetes-11

by hxunz 2021. 11. 8.
  1. Facts (사실, 객관)
    : 진도 나가기 전에 저번주에 배웠던 내용들에 대해서 실습 문제들을 풀었다. 사용자 생성/수정 관리, 확장권한에 대해서 공부하고 실습을 진행하였다. 실습 부분은 TIL을 작성하면서 다시 풀어보았다.
     
  2. Feelings (느낌, 주관)
    : 저번에 배운것들 이해는 했는데 외우지는 못해서 구글링을 하면서 실습 문제들을 풀어나갔다. 내 기준 구글링을 해도 어려운 문제들이 있어서 힘들었다. 그리고 월요일이라 그런지,, 굉장히 무기력한,,, ㅋ 오늘 배운 내용들도 쉽게 이해되는 부분들인데 실습 문제만 풀려고 하면 너무 귀찮아진다,., 낼부터는 제대로 해야지

  3. Findings (배운 점)
    : 계정 파일 관리
     
     - /etc/passwd : 사용자 정보를 담고 있는 기본 파일
        /etc/shadow : 사용자의 암호화된 패스워드를 담고 있는 파일
        /etc/group : 사용 그룹의 정보를 담고 있는 파일

    사용자
     - 시스템 사용 주체, 파일 소유주, 모든 실행 및 접근 권한의 1차적 기준, 일반 유저, 시스템 유저, 슈퍼 유저로 구분
     - /etc/passwd 파일에 정보 저장
    name password UID GID GECOS Home Shell
    root x 0 0 root /root /bin/bash

    /etc/passwd 구조
    name password UID GID comment Home Shell
    root x 0 0 root / /bin/sh
    시스템에 등록된 사용자를 구분하는 문자 x로 표시된 경우 /etc/shadow 파일에 암호저장 시스템에 등록된 사용자를 구분하는 숫자 (범위 100~60000) 사용자가 실행한 명령어에서 기본으로 사용할 그룹 (범위 100~60000) 이름, 전화번호 등의 사용자의 다양한 정보를 저장 시스템에 로그인할 때 최초로 위치하는 디렉토리 사용자의 명령어를 해석하는 셀

    /etc/shadow 구조
    name: hash_pw :lastchange : min : max : warning : inactive : expire : blank
    name 사용자 이름
    hash_pw 사용자의 해시암호 값 저장
    lastchange 현재 사용중인 암호가 설정된 시기
    min 암호 설정 후 변경 불가 기간
    max 암호 변경 없이 사용 가능한 최대 기간
    warning 암호 만료 전 경고 기간
    inactive 패스워드 만료일부터 계정 만료까지의 유예기간
    expire 사용자 계정 만료 시기

    사용자 구분
     
    - 슈퍼 유저 : root 사용자, 시스템 관리 권한, 고정 하드 드라이브 관리 가능
     - 일반 유저 : 부여된 권한에 따른 명령어 실행 및 파일 접근 가능, 이동식 장치 제어 가능
     - UID 범위 : 0번 슈퍼유저(root)에 할당 / 1~200 정적 할당된 시스템 사용자 / 201~999 파일을 소유하지 않은 시스템 사용자

    사용자 정보 
    명령어 결과
    id 현재 사용자의 정보 출력
    who 접속 중인 사용자 목록
    whoami 현재 사용자 이름
    who am i 접속 사용자 이름

    사용자 전환
     
    - 모든 사용자는 슈퍼 유저 혹은 다른 일반 유저로 전환 가능
      - 전환 시 권한 및 환경 변수 등을 획득
    명령어 동작 인증 방식
    su 사용자만 전환 대상 아이디의 패스워드 입력
    su - 사용자 환경까지 획득 대상 아이디의 패스워드 입력
    sudo -i su - 와 동일 본인 패스워드 입력
    sudo 관리자 권한 임시 획득 본인 패스워드 입력

    관리자 권한 사용
     
    - sudo 명령어를 통해 권한 획득, wheel 그룹 구성원

    사용자 계정 관리
     
    - useradd [option] [username] : 사용자 생성
    -s 사용자 쉘 지정
    default - /bin/bash
    -b 사용자 홈 디렉토리 변경
    -f INACTIVE 변경
    -u uid 지정
    default - passwd
    가장 높은 숫자 다음 번호
    원하는 번호 지정
    -d 특정 디렉토리 지정
    default - home
    디렉토리 아래에 계정명으로 생성
    원하는 경로에 홈디렉토리 생성 가능
    -g 기본 그룹 지정
    default - uid와 같은 번호로 지정되고 그룹명 또한 계정명과 같은 이름으로 지정
    기존에 존재하던 그룹의 gid를 지정 가능
    -G 보조 그룹 지정
    -D 사용자 생성 디폴트 값 확인 및 디폴트 값 수정 시 사용
    -c 원하는 내용으로 지정

    사용자 생성
     - useradd [option] UserName
     - /sbin/nologin : 사용할 수 있는 쉘을 주지 않음으로써 로그인할 수 없게 만듦
     - 특정 서비스만 사용하여 인증만 필요한 사용자들에겐 쉘을 주지 않음

    사용자 수정
     - usermod [option] UserName
     - -G 옵션만 사용 시 기존 보조그룹 삭제
    옵션 기능
    -a 보조그룹을 추가
    -G 보조그룹 변경
    -g 기존의 존재하던 그룹의 gid로 수정 가능
    -L 사용자 계정 잠금
    -l 계정명 수정 가능
    -U 계정 잠금 해제
    -u 원하는 번호로 uid 수정
    -c 원하는 내용으로 수정
    -d 원하는 경로에 홈디렉토리 수정 가능(단, -m 옵션과 함께 사용해야 됨)
    -s 원하는 쉘로 수정가능

    사용자 삭제
     - userdel [option] UserName
     - 사용자 제거 시 -r 옵션을 생략하면 해당 사용자의 홈 디렉토리가 삭제되지 않음
     - 새로 생성된 사용자가 삭제된 사용자의 uid를 할당 받게 되면 삭제된 사용자의 홈 디렉토리를 소유하게 되므로 문제가 발생 할 수 있음

    사용자 계정 관리
     - 암호설정 : passwd 명령어 사용, 로그인 한 사용자 본인의 암호 변경, root 사용자의 경우 모든 계정 변경 가능
     - 암호 속성 변경 : change 명령어 사용, root 사용자만 설정 가능, 암호 사용 기간 및 변경 기한 등 설정
     - Change : 패스워드에 대한 유효기간을 부여하여 주기적으로 사용자가 패스워드를 변경하도록 하는 보안상 상당히 유용한 도구
    -l change의 설정 확인
    -M 패스워드 사용의 최대 기간
    -m 패스워드를 변경할 수 있는 최소 기간
    -I 패스워드 만기 후 계정을 사용하지 못하는 기간
    -E 사용자 계정의 만료 날짜
    -d 사용자의 새 패스워드 변경 일
    -W 패스워드의 유효기간이 만료하기 전 사용자에게 경고하는 기간


    그룹
     - 실행 및 접근 권한의 2차적 기준
    기본그룹 보조그룹
    사용자 생성 시 자동 생성 사용자가 수동으로 생성
    파일 생성시 소유 그룹 지정 파일 사용 시 권한 확인
    /etc/passwd 4번째 필드에 표시 /etc/group 에 정보 표시
    id에 명령어 출력의 gid id 명령어 출력의 groups
    1인 1그룹 0개 이상의 그룹에 가입
    Name Password GID Member
    wheel x 10 student

    사용자 그룹 관리
     - groupadd [option] [groupname] : 그룹 생성
    -g [GID] 특정 gid 값을 지정
    -o 그룹의 GID를 중복으로 사용
     - groupmod [option] [groupname] : 사용자 수정
    -n 그룹의 이름을 변경
    -g 새로운 gid 값을 부여
    -o 그룹의 GID를 중복으로 사용
     - groupdel [option] [groupname] : 사용자 제거

    확장 된 권한의 종류
     - Setuid : 일반 사용자가 대개는 root 권한을 필요로 할 경우, 파일 소유주의 권한으로 실행, root 소유의 명령어를 root의 권한으로 
                      실행하고자 할 때 사용, 명령어에만 작용하고 디렉토리에는 전혀 아무런 효과 없음
     - Setgid : 애플리케이션에서 그룹 사용자의 권한이 필요할 경우, 파일과 디렉토리에 각각 다르게 적용
                     파일 : 명령어를 소유 그룹의 권한으로 실행
                     디렉토리 : setgid 주어진 디렉토리에 파일 생성 시 해당 디렉토리의 소유 그룹이 상속되기도 함
     - Sticky bit : 일반 사용자들이 /tmp 디렉토리를 사용해서 임시 파일을 만들 수 있도록 설정 할 때 사용, 디렉토리에만 영향
                           sticky bit 권한이 주어진 디렉토리에서는 root나 파일의 소유주만 삭제가 가능하도록 하는 권한
      file directory
    setuid o x
    setgid o o
    sticky bit x o
      심볼릭 방식 8진수 방식
    setuid chmod u+s 파일명 chmod+4000 파일명
    setgid chmod g+s 파일명 chmod+2000 파일명
    sticky bit chmod o+t 파일명 chmod+1000 파일명


'GOORM' 카테고리의 다른 글

GOORM: Kubernetes-13  (0) 2021.11.10
GOORM: Kubernetes-12  (0) 2021.11.09
GOORM: Kubernetes-10  (0) 2021.11.05
GOORM: Kubernetes-9  (0) 2021.11.05
GOORM: Kubernetes-8  (0) 2021.11.04

댓글