본문 바로가기

리눅스

C276x260.fwebp.q85 [draft] Shell 스크립트에서 CRLF와 LF 문제를 해결하는 방법 Shell 스크립트에서 CRLF(Carriage Return Line Feed)와 LF(Line Feed) 문제를 해결하는 방법CRLF는 Windows 시스템에서 사용되는 줄 끝 표시 방식이고 LF는 Unix/Linux 시스템에서 사용됩니다.CRLF와 LF란 무엇인가?CRLF(Carriage Return, Line Feed)Windows에서 일반적으로 사용되는 개행 문자입니다.문자열의 끝을 나타내는 데 CR(\r)과 LF(\n) 두 개의 문자를 사용합니다.LF(Line Feed)Unix/Linux 시스템에서 일반적으로 사용되는 개행 문자입니다.문자열의 끝을 나타내는 데 LF(\n) 한 개의 문자를 사용합니다.CRLF 문제 발생 시 증상일반적으로 CRLF 문제는 스크립트를 실행할 때 다음과 같은 오류 메시.. 더보기
C276x260.fwebp.q85 [draft] NGINX 저장소의 만료된 GPG 키 갱신 방법 NGINX 저장소의 만료된 GPG 키 갱신 방법NGINX 저장소의 GPG 키가 만료되었을 때 이를 갱신하는 방법은 새로운 GPG 키를 다운로드하고 저장소 설정을 업데이트하는 것입니다.오류 메세지W: https://nginx.org/packages/ubuntu/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.W: An error occurred during the signature verification. The repository is not updated and the previous index.. 더보기
C276x260.fwebp.q85 [draft] 로컬 IP 및 공인 IP 확인하는 방법 로컬 IP 및 공인 IP 확인하는 방법(myip)Bash 함수로 myip 명령어 만들기.bashrc 파일 수정vim ~/.bashrcmyip() { externalip=$(curl -SsfL ifconfig.co) localip=$(ip route get 1.2.3.4 2>/dev/null | grep -Eo 'src [0-9.]+' | grep -Eo '[0-9.]+') echo "Local IPADDR : $localip" echo "External IPADDR : $externalip"}설정 반영source ~/.bashrc사용 방법myipLocal IPADDR : 10.100.3.188External IPADDR : 3.14.11.88 myip 함수는 로컬 IP와 공인 IP를 한.. 더보기
C276x260.fwebp.q85 [draft] CentOS 7에서 Google OTP를 설치 및 설정하는 방법 CentOS 7에서 Google OTP(Google Authenticator)를 설치 및 설정하는 방법1. Google Authenticator란?Google Authenticator는 시간 기반 일회용 비밀번호(TOTP)를 생성하는 이중 인증(2FA) 솔루션입니다.2. Google Authenticator 패키지 설치sudo yum install -y google-authenticator설치 확인google-authenticator --version3. Google Authenticator 초기 설정(QR 코드 생성)OTP 인증은 각 사용자별로 개별 설정해야 합니다. OTP 인증 파일 생성google-authenticator -s ~/.ssh/google_authenticatorDo you want m.. 더보기
C276x260.fwebp.q85 [draft] Ubuntu Server 22.04 LTS를 설치하는 방법 Ubuntu Server 22.04 LTS를 설치하는 방법(Jammy Jellyfish)Ubuntu Server 설치Ubuntu Server ISO로 부팅하면 텍스트 기반 설치 화면이 나타납니다. 서버 환경에서는 GUI가 아닌 Subiquity 설치 프로그램을 사용합니다.언어(Language) 설정설치 프로그램 업데이트 확인키보드 설정설치 유형 선택(Installation Type)네트워크 설정(Network Configuration)프록시 설정(Proxy Configuration)Ubuntu 아카이브 미러 구성kr.archive.ubuntu.com/mirror.kakao.com가이드 스토리지 구성(Guided Storage Configuration)스토리지 구성 확인(Storage Configurati.. 더보기
C276x260.fwebp.q85 [draft] passwd 명령어 passwd 명령어passwd 명령어는 리눅스와 유닉스 시스템에서 사용자 계정의 패스워드를 변경하는 데 사용되는 명령어입니다. 패스워드 변경은 보안을 강화하고 사용자 계정의 접근을 제어하는 중요한 작업 중 하나입니다. passwd 명령어는 보통 사용자 자신이나 시스템 관리자가 사용하여 패스워드를 변경합니다.1. 패키지 설치Debian/Ubuntusudo apt-get updatesudo apt-get install passwdCentOS/RHELsudo yum install passwd2. 기본 명령어Usage: passwd [options] [LOGIN]주요 옵션-l: 사용자 계정을 잠그고 비활성화합니다.-u: 사용자 계정을 활성화합니다.-d: 사용자 계정의 패스워드를 삭제합니다.-S: 사용자 계정의 .. 더보기
C276x260.fwebp.q85 [draft] 생성된 지 30일 이상 된 파일만 삭제하는 방법 생성된 지 30일 이상 된 파일만 삭제하는 방법(find 활용)find rm 명령어 Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]1. find에서 사용하는 시간 옵션 정리-atime : 마지막 접근 시간(access time)-mtime : 마지막 수정 시간(modify time)-ctime : 메타데이터 변경 시간(change time)-ctime은 파일 생성 시간이 아니라 권한 변경, 소유자 변경, 링크 변경 등도 포함합니다.2. 30일 이상 지난 파일 삭제-exec rm 사용find /var/spool/clientmqueue -ctime +30 -exec rm -f.. 더보기
C276x260.fwebp.q85 [draft] Nginx 액세스 로그에서 공격자 IP 추출 및 차단 자동화 방법 Nginx 액세스 로그에서 공격자 IP(attacker ip) 추출 및 차단 자동화 방법웹 서버를 운영하다 보면 비정상적으로 많은 요청을 보내는 IP, 즉 공격자 IP(attacker IP) 를 빠르게 식별하고 차단해야 하는 상황이 자주 발생합니다. Nginx access.log를 기반으로 공격자 IP를 추출하는 방법과 이를 자동화 스크립트로 정리하는 방법 그리고 Nginx 설정에서 차단하는 방법을 정리하였습니다.1. Nginx 액세스 로그에서 요청이 많은 IP 확인하기가장 기본적인 방법은 최근 로그에서 요청 횟수가 많은 IP를 집계하는 것입니다.tail -n 10000 /var/log/nginx/access.log \ | awk '{print $1}' \ | sort \ | uniq -c \ |.. 더보기