분류 전체보기 (13) 썸네일형 리스트형 kubernetes 구조 쿠버네티스란 컨테이너화된 워크로드와 서비스를 관리하기 위한 오픈소스구글에서 개발된 서비스, cncf / cloud native comptuing foundation - orchestration 이 필요한 이유 -자동화된 스케일링자동화된 롤아웃과 롤백자동화된 복구(self-healing)자동화된 빈 패킹(bin packing)시크릿과 구성 관리서비스 디스커버리와 로드 밸런싱스토리지 오케스트레이션선언적 코드를 사용한 운영(Iac) Control plane(Master node) : kubernetes 전체를 통제/관리- kube-apiserver- etcd- kube-schduler- kube-controller-manager(cloud-controller-manager) Data plane(Worker .. 시스템 보안 체크 스크립트 / etc/securetty, pts, tty, shell 메타문자 /etc/securetty : 루트가 로그인 가능한 터미널 장치- pts : Pseduo TTY Slave - 네트워크를 통해 원격접속을 했을 때 열리는 터미널- tty : TeleTYpewriter - 콘솔이나 터미널을 의미grep `pts : pts 로 시작하는 것을 찾기 KISA 보안취약점 및 침해사고 대응/ 주요정보통신기반시설 기술적 취약점 분석 평가 가이드 색 표현 ANSI(미국표준협회) Escape Sequence(ESC) : \033 #!/bin/bash. 27.function.shBARCODE [U-01] root 계정 원격 접속 제한cat > $RESULT[양호]: 원격 서비스를 사용하지 않거나 사용 시 직접 접속을 차단한 경우.[취약]: root 직접 접속을 허용하고 원격 서비스를 .. 네트워크 트래픽 모니터링 / seq, tee, ping -c, -w, wc, && seq순차적으로 프린트 seq 254 : 1~ 254seq 100 200 : 100~200Tee : 표준에서 읽어서 표준 출력도 하지만, 파일에도 쓰게끔 하는 명령어(-a : --append)(지정한 파일 위치에 저장시키는 명령)ping -c1(count 1번), -w1(deadline 1초) #!/bin/bashLOG=ping.logPREFIX=192.168.1for i in $(seq 254)do ping -c1 -w1 ${PREFIX}.$i && \ echo "${PREFIX}.$i is alive" | tee -a $LOG || \ echo "${PREFIX}.$i is dead" | tee -a $LOG &done wc -l (word count) && 명령 순차 실행, 엠퍼센트앞.. 시스템 모니터링 / du, sed / 리눅스 숨겨진 디렉토리 ls -a dudu 명령어는 Disk usage의 약자로 파일 ,디렉토리 용량을 확인할 때 사용되는 명령어-S(--seperate-dirs) : 디렉토리를 구분하여 상위 디렉토리에서 하위를 포함하지 않도록 함-s(--summarize) : 합쳐서 전체 요약-h(--human-readable) : 사람이 읽기 편한 포맷으로 출력- /dev/null : 아무것도 아닌 장치 파일(비워져 있음)- /dev/null > abc.log sedStream editor 의 약자sed '[패턴]' [파일명] 혹은 cat [파일명] | sed '[패턴]'sed '{11, $D; =}' : 상위 10번째 줄까지만 출력하기 위해 11번째 부터는 삭제($마지막줄, D삭제), = 행번호 출력sed 'N; s/\n//' : N(다음 줄을 읽.. /etc/passwd/ 참조 : https://reakwon.tistory.com/137 [리눅스] /etc/passwd, /etc/shadow 파헤치기, 각 필드에 대한 설명더 많은 정보를 담은 리눅스 교재를 배포했습니다. 아래의 페이지에서 리눅스 교재를 받아가세요. https://reakwon.tistory.com/233 리눅스 프로그래밍 note 배포 티스토리에 리눅스에 관한 내용을 두서없reakwon.tistory.com 사용자 관리 스크립트 / IFS IFS(internal Field Seperator)문자열을 나눌 때 기준이 되는 문자를 정의하는 환경변수echo $IFS 하면 디폴트값인 공백이 보이고, 이를 수정하는 것도 가능 cat > users.csv 로그 파일 분석 스크립트 / awk, uniq, sort awk (Aho + Weinberger + Kernighan)awk 의 기본 기은 텍스트 형태로 되어있는 입력 데이터를 행과 단어 별로 처리해 출력하는 것동작 예시명령어파일의 전체 내용 출력awk '{print}' [FILE]필드 값 출력awk '{ print $1}' [FILE] ( $1은 첫번째 필드)필드 값에 임의 문자열을 같이 출력awk '{print "STR"$1, "STR"$2}'[FILE] #!/bin/bash echo -e "\nPOD LOG Analyze\n"#-e 옵션은 "없이 내용 표시 echo -e ":: COUNT OF ACCESS IP ::" cat 0.log | grep GET | awk '{print $4}' | sort | uniq -c | sort -n .. 데이터 백업 스크립트 / if, fi echo cdf >> ~~.txt 에서 >> 는 기존 것 건드리지 않고 한 줄 추가 tar.gz / tar 로 묵고 gzip 압축# 사전 환경세팅mkdir ~/backuptouch ~/backup/abctouch ~/backup/cdfecho abc > ~/backup/files_to_backup.txtecho cdf >> ~/backup/files_to_backup.txtll ~/backupcat ~/backup/files_to_backup.txtcd ~/backup###### 아래가 쉘 스크립트입니다 ########!/bin/bash# 오늘의 날짜 확인today=$(date +%y%m%d)## 백업 파일 이름 설정backupfile=backup_$today.tar.gz## 설정 파일 위치 및 저장될곳.. 배포 스크립트 / jq, tr, for , scp json(JavaScript Object Notation) : 구조화된 데이터를 간결하게 표현가능한 방식jq : json query 툴, 커맨드 라인 유틸리티tr: translate or delete 하는 명령어, -d(--delete) 는 삭제를 의미For 반복문 사용 방법 for 변수 in 범위 do # 명령 done #!/bin/bash SERVER=$(kubectl get nodes -o json | jq '.items[] | .status .addresses[] | select(.type=="ExternalIP") | .address' | tr -d ' " ') for server in $SERVER do scp -i ~/aws_rsa file.txt ec.. 서버 상태 체크 스크립트 / SAR, uname SAR : System Activity Report 의 약자cpu, 메모리, 소케, I/O 등의 여러 정보를 확인 가능- uname : unix name의 약자, 시스템 및 커널정보 확인-r(--kernel-release), -p(--processor), -a(-all)grep -i(--ignore-case) : 대소문자 미구분grep -v(--invert-match) : 제외하고 확인grep -E(--extended regexp) : 확장된 정규표현식으로 표현 가능#!/bin/bashyum install -y sysstatecho "Hostname: $(hostname)"echo "Current date: $(date)"echo "Current kernel version and CPU architect.. 이전 1 2 다음