맘가는 대로

RHCSA 목표 간단 정리 본문

자격증

RHCSA 목표 간단 정리

ALIVEisANSWER 2020. 9. 19. 21:26

원본 - www.redhat.com/ko/services/training/ex200-red-hat-certified-system-administrator-rhcsa-exam?section=%EB%AA%A9%ED%91%9C

 

  • 필수 툴 이해 및 사용
    • 셸 프롬프트에 액세스하고 올바른 구문으로 커맨드 실행
    • 입력-출력 리디렉션(>, >>, |, 2> 등) 사용
      • > - truncate
      • >> - append
      • | - pipe
      • 2> - redirection from stderr
    • grep 및 정규 표현식을 사용하여 텍스트 분석
      • grep -P
      • egrep
    • SSH를 사용하여 원격 시스템에 액세스
      • ssh <user>@<hostname or ip>
    • 로그인하고 멀티유저 타겟에서 사용자 변경
      • su - <user>
    • tar, star, gzip, bzip2를 사용하여 파일 아카이브, 압축, 배포, 압축 해제
      • 아카이브 - tar file[files...]
      • 압축 - tar cvzf <filename>.tar.gz file[files...]
      • 압축 해제 - tar xvzf <filename>.tar.gz
    • 텍스트 파일 생성 및 편집
      • vim <filename>
    • 파일 및 디렉토리 생성, 삭제, 복사, 이동
      • 삭제
        • 파일 - rm
        • 디렉토리 - rmdir
      • 복사 - cp
      • 이동 - mv
    • 하드 링크와 소프트 링크 생성
      • 하드 링크 - ln
      • 소프트 링크 - ln -s
    • 표준 ugo/rwx 권한 목록 작성, 설정 및 변경
      • 권한 보기 - ls -l
      • 권한 변경 - chmod [0..7][0..7][0..7] or u[go]+r[wx], u[go]-r[wx]
    • /usr/share/doc에서 man, info, 및 파일을 포함한 시스템 문서를 찾고, 읽고, 사용
  • 실행 시스템 운영
    • 시스템을 정상적으로 부팅, 재부팅, 셧다운
      • 재부팅
        • reboot
        • systemctl reboot
      • 셧다운
        • shutdown
        • poweroff
        • systemctl halt
        • systemctl poweroff
      • 참고 링크 - https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_basic_system_settings/managing-services-with-systemd_configuring-basic-system-settings#shutting-down-suspending-hibernating-system_managing-services-with-systemd
    • 시스템을 수동으로 다른 타겟으로 부팅
      • 타겟 목록
        • systemctl -t target --all
      • 수동 전환
        • systemctl isolate <target>
      • 영구 전환
        • systemctl set-default <target>
      • 참고 링크 - https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_basic_system_settings/managing-services-with-systemd_configuring-basic-system-settings#working-with-systemd-targets_managing-services-with-systemd
    • 시스템에 액세스하기 위해 부팅 프로세스 중단
      • 부트로더에서 e 를 통해 부트 엔트리 수정 가능
      • 설정 파일에서 linux 항의 맨 뒤에 rd.break 를 추가하면 리눅스 커널에 권한을 넘기기 전까지만 부팅 과정 수행
      • 참고 링크 - https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_basic_system_settings/managing-user-and-group-accounts_configuring-basic-system-settings#resetting-the-forgotten-root-password-on-boot_changing-and-resetting-the-root-password-from-the-command-line
    • CPU/메모리 사용이 많은 프로세스를 식별하여 중단
      • 프로세스 식별
        • top
          • F - 정렬
        • ps
          • ps -eo pid,%cpu,%mem,cmd --sort -%mem
      • 프로세스 중단
        • kill
          • 기본적으로 SIGTERM 을 보내 프로세스를 중단
          • 강제 중단을 원하면 kill -9 <pid>
            • SIGKILL
            • 리눅스 커널이 절대 무시하지 않는 시그널이 있는데, SIGKILL 이 그 중 하나
    • 프로세스 스케줄링 조정
      • nice
      • renice
    • 튜닝 프로파일 관리
      • tuned
        • 명령어
          • tuned-adm active - 적용된 프로필
          • tuned-adm list - 프로필 목록
          • tuned-adm profile virtual-guest powersave - 프로필 적용 및 정
          • tuned-adm verify - 프로필 적합성 체크
        • 설정 파일
          • /usr/lib/tuned - 배포판 프로필
          • /etc/tuned/ - 커스텀 프로필
      • 참고 링크 - https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/monitoring_and_managing_system_status_and_performance/index
    • 시스템 로그 파일 및 저널 확인 및 해석
      • 로그 파일 위치 - /var/log
      • journalctl
        • journalctl -u <대상> --since=<로그 처음> --until=<로그 마지막>
    • 시스템 저널 보존
      • /etc/systemd/journald.conf
        • storage=persistent 로 수정
        • systemctl restart systemd-journald
        • 혹은 재부팅
      • 참고 매뉴얼 - man journald.conf
      • 참고 링크 - https://www.freedesktop.org/software/systemd/man/journald.conf.html#
    • 네트워크 서비스 시작, 중단 및 상태 점검
      • systemctl start NetworkManager
      • systemctl stop NetworkManager
      • systemctl status NetworkManager
    • 안전하게 시스템 간 파일 전송
      • scp, sftp, rsync
      • SSH 프로토콜을 사용해서 전송
  • 로컬 스토리지 설정
    • MBR 및 GPT 디스크에서 파티션 목록 작성, 생성, 삭제
      • MBR 파티션 테이블
        • fdisk
          • type
            • 82 - 리눅스 SWAP
            • 8e - 리눅스 LVM
        • 증설
          • 해당 파티션을 지우고, 반드시 동일한 번호에서 증설한 크기의 파티션을 생성
      • GPT 파티션 테이블
        • fdisk -> g
          • type
            • 19 - 리눅스 SWAP
            • 31 - 리눅스 LVM
      • 참고 - https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/managing_storage_devices/assembly_getting-started-with-partitions_managing-storage-devices
    • 물리 볼륨 생성 및 제거
      • 생성
        • pvcreate <디스크>
      • 제거
        • pvremove
      • 한 디스크를 나눠 물리 볼륨으로 할당하지 말 것. 성능 저하
      • 한 디스크를 두 개 이상의 물리 볼륨으로 반드시 해야한다면 파티셔닝 이후에 할 것.
      • 참고 - https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_and_managing_logical_volumes/deploying-lvm_configuring-and-managing-logical-volumes#creating-lvm-physical-volume_deploying-lvm
    • 볼륨 그룹에 물리 볼륨 할당
      • 생성
        • vgcreate <볼륨 그룹 이름> <pv>...
      • 증설
        • vgextend <볼륨 그룹 이름> <pv>...
      • 참고 - https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_and_managing_logical_volumes/deploying-lvm_configuring-and-managing-logical-volumes#creating-lvm-volume-group_deploying-lvm
    • 논리 볼륨 생성 및 제거
      • 생성
        • 단순 볼륨
          • lvcreate -n <논리 볼륨 이름> -L <용량> <볼륨 그룹>
        • 스트라이프 볼륨
          • lvcreate --type raid0 -l <용량> --stripes <줄무늬 개수> --stripsize 4 -n <논리 볼륨 이름> <볼륨 그룹>
            • 줄무늬 개수는 디스크 개수로 하면 됨
            • 줄무늬 길이는 4 KiB가 된다.
              • 지정하지 않을 경우 기본값은 64 KiB
          • 확인
            • lvs -a -o name,segtype
          • 이론적으로 동일 크기, 동일 속도의 디스크의 경우 읽기/쓰기 속도가 디스크의 개수만큼 증가한다.
          • 참고 - man lvmraid
      • 제거
        • lvremove <논리 볼륨 위치>
      • /boot 는 논리 볼륨에 할당하지 말 것. 부트로더가 LVM 을 인식하지 못함
      • 참고 - https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_and_managing_logical_volumes/deploying-lvm_configuring-and-managing-logical-volumes#creating-lvm-logical-volume_deploying-lvm
    • UUID(Universally Unique ID)나 라벨을 사용하여 부팅 시 파일 시스템을 마운트하도록 시스템 설정
      • 확인
        • 파일
          • /etc/fstab
        • UUID
          • lsblk
        • 마운트 지점
          • findmnt
          • mount
      • 마운트
        • /etc/fstab 에 이미 지정됨
          • mount <디바이스 혹은 경로>
        • 수동
          • mount --type <파일시스템> <디바이스> <경로>
        • 이동
          • mount --move <원 지점> <신규 지점>
        • 영구
          • 파일
            • /etc/fstab
            • 변경후 systemd 등록을 위해 systemctl daemon-reload 진행 필요
      • 참고 - https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/managing_file_systems/assembly_mounting-file-systems_managing-file-systems
    • 어떠한 손실/손상 없이 시스템에 새로운 파티션 및 논리 볼륨과 스왑 추가 
      • 파티션
        • MBR
          • fdisk
            • 증설할 파티션을 삭제
            • 동일한 순서의 새로운 파티션을 생성하되 더 큰 크기로 생성
        • GPT
          • fdisk -> g
            • 증설할 파티션을 삭제
            • 동일한 순서의 새로운 파티션을 생성하되 더 큰 크기로 생성
        • 파티션은 블록 순서상 연속되어야 하므로 파티션 크기를 키울 때는 바로 이어지는 블록이 있어야 한다.
      • 논리 볼륨
        • lvextend
          • 볼륨 그룹에 용량이 남아있을 경우
            • lvextend -l +100%free <논리 볼륨 경로>
        • vgextend
          • 볼륨 그룹에 용량이 없을 경우
            • vgextend <볼륨 그룹> <디바이스>
            • lvextend <논리 볼륨 경로> <디바이스>
      • 스왑
        • mkswap
          • 증설
            • swapoff 를 통해 해당 파티션을 해제한 뒤 증설
          • 추가
            • 해당 파티션을 스왑 파티션으로 만들어주면 됨
          • 스왑 파일
            • 파일 생성
              • dd if=/dev/zero of=/swapfile bs=4096 count=<용량에 맞게>
              • mkswap /swapfile
        • swapon
        • /etc/fstab
          • swap 파일 시스템
          • 마운트 유닛 생성
            • systemctl daemon-reload
      • 참고 - https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/managing_storage_devices/getting-started-with-swap_managing-storage-devices
  • 파일 시스템 구축 및 설정
    • vfat, ext4, xfs 파일 시스템 생성, 마운트, 분리 및 사용 
      • 비교
        • ext4
          • RHEL 6 기본 파일 시스템
          • 용량 - 50 TiB 까지 지원
          • Quota - 사후 적용 지원. 마운트 옵션 지원.
          • 용량 변경 - 줄이기, 늘리기 모두 지원
          • 낮은 IOPS 및 대역폭의 서버 혹은 어플리케이션에서 권장됨
        • xfs
          • RHEL 7 이상 기본 파일 시스템
          • 용량 - 1024 TiB 까지 지원
          • Quota - 마운트 옵션 지원. 마운트 이후에는 적용 불가.
          • 용량 변경 - 늘리기만 지원
          • 높은 IOPS 및 대역폭의 서버, 멀티 쓰레드 읽기/쓰기 어플리케이션에서 권장됨
            • ext4 보다 메타데이터 작업에 약 2 배의 CPU 사용률을 보임
      • 파일시스템 생성
        • mkfs.vfat
          • 패키지 - dosfstools
        • mkfs.ext4
        • mkfs.xfs
      • 마운트
        • /etc/fstab
        • mount -a
        • umount
    • NFS를 사용하여 네트워크 파일 시스템 마운트 및 분리
      • 특성
        • 네트워크
          • TCP 권장
        • 서버 - 클라이언트 구조
      • 서버
        • 목표는 아니지만 실습 목적으로 서술
        • 기동
          • rpcbind 서비스
            • systemctl status rpcbind
            • RPC 기반 통신을 위해 사용되는 서비스
          • nfs-server
            • systemctl enable --now nfs-server
              • 활성화 동시에 시작
        • 공유 디렉토리 지정
          • 설정 파일
            • /etc/exports
              • 문장 구조
                • <공유 디렉토리> <공유 대상 호스트>(<옵션>)
          • 적용
            • exportfs -r 혹은
            • systemctl reload nfs-server
        • 방화벽
          • firewall-cmd --permanent --add-service rpc-bind
          • firewall-cmd --permanent --add-service mountd
          • firewall-cmd --permanent --add-service nfs-server
          • firewall-cmd --permanent --add-port=<mountd 포트>/tcp
          • firewall-cmd --reload
      • 클라이언트
        • 탐색
          • showmount -e <호스트>
        • 수동
          • mount -t nfs -o <옵션> <마운트 대상> <마운트 디렉토리>
        • 파일
          • /etc/fstab
            • <마운트 대상> <마운트 디렉토리> nfs defaults,_netdev 0 0
      • 참고 - https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/managing_file_systems/exporting-nfs-shares_managing-file-systems#starting-the-nfs-server_exporting-nfs-shares
    • 기존 논리 볼륨 확장
      • 파티션 증설
      • vgextend
      • lvextend
      • 파일 시스템
        • resize2fs
        • xfs_growfs
    • 협업을 위해 set-GID 디렉토리 생성 및 설정
      • chmod g+s <디렉토리>
    • 디스크 압축 설정
      • VDO 디스크
        • 개념
          • 중복 제거, 압축, 씬 프로비저닝으로 디스크 사용량 축소
            • 씬 프로비저닝은 오버 프로비저닝으로 부르기도 하고 이해가 더 쉽다.
          • 실제 디스크보다 더 많은 용량을 할당할 수 있다.
        • 운영
          • 실제 디스크 용량의 한계에 가까워질 때 용량을 늘려줘야 한다.
            • 쉬운 증설을 위해 LVM 을 사용하고 VDO 를 사용하는 것이 권장된다.
          • 따라서 지속적인 모니터링이 필요하다.
          • DISCARD(or TRIM)
            • 파일 시스템에서 안쓰는 블록을 삭제하는 것을 의미한다.
            • 씬 프로비저닝 스토리지에는 사용하는 것이 권장된다.
            • 단, 이 동작은 CPU 에 높은 부하를 가한다.
        • 용도
          • 블록 디바이스
        • 실 사용
          • 설치
            • dnf install -y vdo
          • 블록 디바이스 구성
            • vdo create --name=<VDO 디바이스 이름> --device=<블록 디바이스> --vdoLogicalSize=<용량>
              • VM 스토리지 용도는 실제 크기의 10 배
              • 오브젝트 스토리지 용도는 실제 크기의 3 배
              • 실제 스토리지 크기가 16TiB 이상일 때는 디스크 slab 크기를 32 GB 로 구성해야함
          • 파일 시스템 구성
            • xfs
              • mkfs.xfs -K <VDO 디바이스 경로>
            • ext4
              • mkfs.ext4 -E nodiscard
            • 왜 discard 동작을 중단하는지?
            • 디바이스 노드 등록 대기
              • udevadm settle
                • 모든 udev 이벤트가 끝날 때까지 대기하는 동작
          • 마운트
            • /dev/mapper/<이름> /<마운트 위치> <xfs|ext4> defaults,_netdev,x-systemd.device-timeout=0,x-systemd.requires=vdo.service 0 0
            • 참고
              • man vdo
              • man systemd.mount
          • DISCARD 구성
            • systemctl enable --now fstrim.timer
          • 통계
            • vdostats --human-readable
          • 압축
            • VDO 디바이스는 기본 값이 허용됨
            • 수동
              • vdo enableCompression --name=<VDO 이름>
      • 참고 - https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/deduplicating_and_compressing_storage/index
    • 계층화된 스토리지 관리
      • stratis
        • 테크 프리뷰 상태
          • 현재 개발중이며 완전한 동작을 보장하지 않는다.
          • (그런데 왜 RHCSA 목표인지는 모르겠다. ZFS 대안이며 Btrfs 대체 기술이라서 레드햇이 세게 밀고 있기는 하다.)
          • (더 심각한 것은 대안 및 대체 기술에서는 데이터 손실을 어떻게든 막는데, 이 녀석은 대놓고 데이터 손실이 있을 수 있다고 말한다. 엔터프라이즈 쪽에서의 사용은 아직 힘들 것 같다.)
        • 설치
          • yum install -y stratisd stratis-cli
        • 설정
          • 디스크 풀
            • wipefs --all <디바이스 경로>
              • 디스크에 대한 모든 정보를 삭제한다.
            • stratis pool create <풀 이름> <디바이스 경로>...
              • 풀 생성
            • stratis pool add-data <풀 이름> <디바이스 경로>...
              • 풀 확장
            • stratis pool list
              • 풀 확인
          • 파일 시스템
            • stratis fs create <풀 이름> <파일시스템 이름>
              • 파일 시스템 생성
              • 여기서 파일 시스템 이름은 '홍길동' 같은 애정 있는 이름을 말한다.
            • stratis fs list
              • 확인
          • 구성 확인
            • stratis blockdev
            • stratis pool
            • stratis fs
          • 마운트
            • 수동
              • mount /stratis/<풀 이름>/<파일시스템 이름> <마운트 경로>
                • /dev 밑에 원본이 있지만 쉽게 하기 위한 설계이다.
            • 자동
              • /etc/fstab
                • UUID=<uuid> <마운트 경로> xfs defaults,x-systemd.requires=stratisd.service 0 0
                  • 데몬이 관리해주는 파일 시스템이기 때문에 서비스 동작 여부 확인은 필수
              • stratisd 가 실행되는 상태로 dracut -f 실행
                • stratis 는 devicemapper 기반으로 동작하는데, 안타깝게도 재부팅시 자동적으로 실행되지 않는다.
                • 부팅시 dm_mod 모듈이 initramfs 에 없어서 발생하는 현상이므로, stratisd 를 동작한 상태에서 initramfs 를 다시 생성한다.
        • 주의
          • stratis 는 내부적으로 XFS 파일시스템을 사용하지만 추적하는 정보가 달라 사용자가 직접 xfs 관련 수정을 진행해서는 안된다.
          • 절대 stratisd 를 죽여서는 안된다.
        • 참고 - https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/managing_storage_devices/managing-layered-local-storage-with-stratis_managing-storage-devices
    • 파일 권한 문제 진단 및 수정
  • 시스템 배포, 설정 및 유지 관리
    • at과 cron을 사용하여 태스크 스케줄링
      • cron
        • 목적
          • 반복 작업
        • 파일
          • /etc/crontab
          • /var/spool/cron/*
        • 명령어
          • crontab
        • 데몬
          • crond
      • at
        • 목적
          • 일회성 작업
        • 파일
          • /var/spool/at/*
        • 명령어
          • at [-l|-d|-b]
          • 목록
            • at -l 혹은 atq
          • 삭제
            • at -d 혹은 atrm
          • 배치 - 시스템 자원 사용률이 낮을 때에만 작업 진행
            • at -b 혹은 batch
          • 데몬
            • atd
      • 참고
        • man cron[crontab]
        • man at
    • 서비스를 시작 및 중단하고 부팅 시 자동으로 시작하도록 서비스 설정
      • systemd
        • 시작
          • systemctl start <서비스>
        • 중단
          • systemctl stop <서비스>
        • 자동 시작
          • systemctl enable <서비스>
          • systemctl enable --now <서비스>
            • 활성화와 동시에 바로 시작
    • 자동으로 특정 타겟에 시스템이 부팅되도록 설정
      • 목록
        • systemctl -t target
      • 현재 값 확인
        • systemctl get-default
      • 변경
        • systemctl set-default *.target
    • 타임 서비스 클라이언트 설정
      • chronyd
        • 시작 및 등록
          • systemctl enable --now chronyd
        • 동기화 목록
          • chronyc sources
        • 동기화 상태
          • chronyc tracking
        • 동기화 서버 설정
          • /etc/chronyd.conf
            • server <IP 혹은 도메인>
            • pool <IP 혹은 도메인>
      • 참고 - https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_basic_system_settings/using-chrony-to-configure-ntp
    • Red Hat Network, 원격 리포지토리 또는 로컬 파일 시스템에서 소프트웨어 패키지 설치 및 업데이트
      • 명령어
        • yum 혹은 dnf
      • 검색
        • dnf search <검색어>
      • 파일 기반 검색
        • dnf whatprovides <파일명>
      • 업데이트 확인
        • dnf check-update
      • 업데이트
        • dnf update [<패키지>]
        • dnf update --security
          • 보안 업데이트
        • dnf upgrade-minimal
      • 자동 업데이트
        • 설치
          • dnf install -y dnf-automatic
        • 운용
          • systemctl enable --now dnf-automatic.timer
      • /etc/yum.repos.d
        • 저장소 추가
          • dnf config-manager --add-repo <주소>
            • http 로 시작하면 원격지
            • 아니면 파일
    • 패키지 모듈 스트림을 사용하여 작업
      • 저장소 구분
        • Base OS
          • 기존의 RPM 배포
        • AppStream
          • 스트림
            • 어플리케이션의 큰 구분
              • 주로 버전으로 하지만, 버전만 가능한 것은 아니다.
          • 프로필
            • 설치 형태를 나타낸다.
      • 운용
        • 설치
          • dnf module install <모듈 이름>:<스트림>/<프로필>
        • 삭제
          • dnf module remove <모듈이름>:<스트림>/<프로필>
        • 스트림 옮기기
          • dnf distro-sync
            • 준비 상태 확인
          • dnf module reset <모듈 이름>
            • 모듈을 최신 상태로 변경
          • dnf module enable <모듈 이름>:<스트림>
            • 변경할 스트림으로 활성화
          • dnf [--allowerasing] distro-sync
            • 스트림 변경
      • 목적
        • 하나의 시스템에서 다양한 버전의 어플리케이션을 사용
        • 다양한 시스템에서 하나의 버전의 어플리케이션을 사용
      • 참고
        • 매뉴얼 - https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/installing_managing_and_removing_user-space_components/index
        • 페도라 매뉴얼 - https://docs.fedoraproject.org/en-US/modularity/
          • 커뮤니티 기반 특성상 아직 수정과 추가 작성이 필요한 문서가 많다.
        • Fedora's modularity mess - https://lwn.net/Articles/805180/
          • 레드햇의 지원을 받아 페도라에 RPM 모듈 지원을 고민하는 개발자들의 상황을 엿볼 수 있다. 기존과 다르기 때문에 어렵기도 하지만, 가야만 하는 자들을 볼 수 있다.
    • 시스템 부트로더 수정
      • 파일
        • /etc/sysconfig/grub
        • /etc/default/grub
      • 수동 생성
        • grub2-mkconfig -o /boot/grub2/grub.cfg
      • 확인
        • 목록 - grubby --info=ALL
        • 인덱스 - grubby --default-index
        • 커널 - grubby --default-kernel
      • 참고 - https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/ch-working_with_the_grub_2_boot_loader
  • 기본 네트워킹 관리
    • IPv4 및 IPv6 주소 설정
      • 파일 로드
        • nmcli con load /etc/sysconfig/network-scripts/ifcfg-XXX
      • 인터페이스 설정
        • nmcli con add con-name <연결 이름> type <인터페이스 종류> ifname <인터페이스 이름>
        • nmtui
          • 터미널 인터페이스로 설정
      • 인터페이스 시작
        • nmcli con up <인터페이스>
      • 인터페이스 속성 확인
        • nmcli con show <인터페이스>
      • 인터페이스 속성 변경
        • nmcli con modify <인터페이스> <속성> <값>
      • 라우팅
        • 파일
          • /etc/sysconfig/network-scripts/route-<인터페이스>
      • 참고 - https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_and_managing_networking/index
    • 호스트 이름 확인 설정
      • 확인
        • hostnamectl
        • hostname -f
      • 설정
        • hostnamectl set-hostname <호스트명>
        • nmtui
        • nmcli g[eneral] h[ostname] <호스트명>
        • /etc/hostname
      • 참고 - https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/networking_guide/ch-configure_host_names
    • 부팅 시 네트워크 서비스가 자동으로 시작하도록 설정
      • systemctl enable NetworkManager
    • firewall-cmd/firewall을 사용하여 네트워크 액세스 제한
      • 특징
        • 기본은 전부 차단
      • 서비스
        • systemctl status firewalld
      • 목록
        • 전체
          • firewall-cmd --list-all
          • firewall-cmd --get-default-zone
          • firewall-cmd --get-zones
          • firewall-cmd --get-active-zones
        • 타겟
          • firewall-cmd --get-default-target
        • 서비스
          • firewall-cmd --get-services
          • firewall-cmd --info-service <서비스>
        • 파일
          • /usr/lib/firewalld
      • 정책
        • 서비스
          • firewall-cmd --permanent --add-service <서비스>
          • firewall-cmd --permanent --remove-service <서비스>
        • 포트
          • firewall-cmd --permanent --add-port <포트 시작[-끝]>/<프로토콜>
          • firewall-cmd --permanent --remove-port <포트 시작[-끝]>/<프로토콜>
        • 호스트
          • firewall-cmd --permanent --add-source <IP 주소>
          • firewall-cmd --permanent --remove-source <IP 주소>
        • 주의
          • 정책 적용은 리로드 이후
            • firwall-cmd --reload
      • 참고 - https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_and_managing_networking/using-and-configuring-firewalld_configuring-and-managing-networking
  • 사용자 및 그룹 관리
    • 로컬 사용자 계정 생성, 삭제, 수정
      • useradd
      • usermod
      • userdel
    • 로컬 사용자 계정의 비밀번호 변경 및 비밀번호 유효 기간 설정 조정
      • passwd
      • chage
    • 로컬 그룹 및 그룹 멤버십 생성, 삭제, 수정
      • groupadd
      • groupmod
      • groupdel
    • 슈퍼 사용자(superuser) 액세스 설정
      • SUDO 권한 확인
        • cat /etc/sudoers
        • visudo
      • 권한 할당
        • usermod -aG wheel <사용자>
        • useradd -G wheel <사용자>
  • 보안 관리
    • firewall-cmd/firewalld를 사용하여 방화벽 설정
      • systemctl enable firewalld
    • 파일 액세스 제어 목록 생성 및 사용
      • 목록
        • getfacl <파일 경로>
      • 정책 적용
        • 추가 - setfacl -m [d:] u:<유저명>:<권한>
        • 삭제 - setfacl -x [d:] u:<유저명>
    • 키 기반 SSH 인증 설정
      • 키 생성
        • ssh-keygen -t <암호화 방식>
      • 키 전달
        • ssh-copy-id <원격 유저>@<원격 주소>
      • 주의
        • 키 전달은 비밀번호를 이용한 로그인을 필요로 함
      • 참고 - https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_basic_system_settings/using-secure-communications-between-two-systems-with-openssh_configuring-basic-system-settings
    • SELinux 실행 및 허용 범위 모드 설정
      • 확인
        • getenforce
        • sestatus
      • 파일
        • /etc/selinux/config
      • 참고 - https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/using_selinux/changing-selinux-states-and-modes_using-selinux
    • SELinux 파일 목록 작성 및 식별, 컨텍스트 처리
      • 파일 목록
        • ls -Z
        • semanage fcontext -l
        • matchpathcon <경로>
    • 기본 파일 컨텍스트 복원
      • restorecon -Rv
    • 부울 설정을 사용하여 시스템 SELinux 설정 수정
      • 확인
        • getsebool -a
      • 설정
        • setsebool -P <불린 변수>
      • 패키지 - policycoreutils
    • 일반적인 SELinux 정책 위반 진단 및 해결
      • 읽기 쉬운 형태
        • sealert -l "*"
          • setroubleshoot 패키지 필요
      • 기초
        • ausearch -m AVC,USER_AVC,SELINUX_ERR,USER_SELINUX_ERR
      • 참고 - https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/using_selinux/troubleshooting-problems-related-to-selinux_using-selinux
  •  

 


Red Hat의 모든 수행 기반 시험에서와 마찬가지로, 이러한 설정은 재부팅 후에도 변경 없이 유지되어야 합니다.

Comments