본문 바로가기

Linux

C276x260.fwebp.q85 [draft] NGINX 특정 파일이나 디렉터리만 허용하고 나머지 요청 제한하기 NGINX 특정 파일이나 디렉터리만 허용하고 나머지 요청 제한하기NGINX에서는 location 블록과 접근 제어 지시어(allow, deny, return)를 활용해 특정 파일 또는 디렉터리만 허용하고 나머지 모든 요청을 제한할 수 있다.기본 개념 정리location 매칭 우선순위location = /exact (정확 매칭)location ^~ /prefixlocation ~ regexlocation / (기본)허용할 경로를 먼저 정의하고, 차단 규칙은 가장 마지막에 둔다가 핵심 원칙특정 파일만 허용하고 나머지는 리다이렉트health_check.html만 허용, 나머지는 301 리다이렉트server { listen 80; server_name _; root /usr/share/nginx.. 더보기
C276x260.fwebp.q85 [draft] HashiCorp Vault를 사용하여 SSH 인증을 관리하는 방법 HashiCorp Vault를 사용하여 SSH 인증을 관리하는 방법(ssh authentication)테스트 환경호스트 이름아이피역할운영체제비고node141192.168.0.141vault serverubuntu 24.04 node142192.168.0.142ssh serverubuntu 22.04 node143192.168.0.143ssh clientubuntu 22.04 Vault 데이터 디렉터리 초기화 및 서버 재시작sudo systemctl stop vaultsudo rm -rf /opt/vault더보기---GPG 키와 저장소 추가wget -O- https://apt.releases.hashicorp.com/gpg \ | sudo gpg --dearmor --yes -o /usr/share/.. 더보기
C276x260.fwebp.q85 [draft] scp 명령어를 사용하여 파일을 쉽게 업로드 및 다운로드할 수 있는 스크립트 scp 명령어를 사용하여 파일을 쉽게 업로드 및 다운로드할 수 있는 스크립트스크립트 작성vim file_transfer.sh#!/bin/bash# Check if the correct number of arguments is providedif [ "$#" -ne 4 ]; then echo "Usage: $0 {up|down} " exit 1fi# Set variables for better readabilityACTION=$1REMOTE=$2LOCAL_PATH=$3REMOTE_PATH=$4KEY_PATH=~/aws-key/ec2key.pem# Perform the action based on the first argumentcase "$ACTION" in up) scp -i "$KEY_P.. 더보기
C276x260.fwebp.q85 [draft] Logrotate를 설정하는 방법 Logrotate를 설정하는 방법logrotate의 기본적인 설정은 매일 새벽 3시에 실행되도록 되어 있습니다. 이는 대부분의 경우, 시스템 사용량이 가장 적은 시간대이기 때문입니다. logrotate는 로그 파일을 회전시켜서 로그 파일의 크기나 날짜에 따라 새로운 파일을 생성하고 이전 파일을 삭제하는 등의 작업을 수행합니다. 이 작업은 일반적으로 시스템의 디스크 I/O나 CPU 자원을 많이 사용하기 때문에, 시스템 사용량이 가장 적은 새벽 시간대에 실행되는 것이 좋습니다. 그러나, 이는 logrotate의 기본 설정이며 사용자가 직접 설정을 변경하여 로테이션 시간을 조정할 수도 있습니다. 적절한 시간대를 설정하여 로그를 회전시키는 것이 시스템의 부하를 줄일 수 있습니다. 단, 로그 파일이 지나치게 커서.. 더보기
C276x260.fwebp.q85 [draft] jq 명령어 jq 명령어jq는 커맨드 라인에서 JSON 데이터를 파싱하고 조작하는 유용한 도구입니다. 이 도구를 사용하면 JSON 형식의 데이터를 쉽게 쿼리하고 필요한 정보를 추출하거나 수정할 수 있습니다.jq 설치CentOSyum install -y epel-releaseyum install -y jqUbuntusudo apt updatesudo apt install jqjq 버전jq --version$ jq --versionjq-1.6jq 명령어의 사용 예제1. JSON 데이터 파싱하기jq를 사용하여 JSON 데이터를 파싱하고 보기 쉬운 형태로 출력할 수 있습니다.echo '{"name": "John", "age": 30}' | jq .이 명령어는 다음과 같이 JSON 데이터를 예쁘게 포맷하여 출력합니다.{ ".. 더보기
C276x260.fwebp.q85 [draft] sleep 명령어 sleep 명령어리눅스에서 sleep 명령어는 일정 시간 동안 실행을 지연시키는데 사용됩니다. 이 명령어는 특히 스크립트나 쉘 명령어에서 유용하게 사용됩니다.기본 사용법sleep 명령어는 시간 단위를 명시하여 사용합니다.s : 초 (default)m : 분h : 시간d : 일문법sleep [시간][단위]사용 예시기본 사용법 : 5초 동안 대기sleep 5분 단위 사용 : 2분 동안 대기sleep 2m시간 단위 사용 : 1시간 동안 대기sleep 1h일 단위 사용 : 3일 동안 대기sleep 3d스크립트 내 사용 : 주어진 시간 후에 명령어 실행#!/bin/bashecho "작업 시작"sleep 10echo "10초 후에 이 메시지가 출력됩니다."현재 시간부터 10초 동안 실행을 지연시키기echo 명령어 .. 더보기
C276x260.fwebp.q85 [draft] CentOS 7에서 SELinux를 비활성화하는 방법(selinux disabled) CentOS 7에서 SELinux를 비활성화하는 방법(selinux disabled)SELinux는 CentOS의 기본 보안 기능 중 하나입니다. 하지만 때로는 특정 애플리케이션이나 설정에서 SELinux를 비활성화해야 할 때도 있습니다. 이를 위해 다음과 같은 단계를 따를 수 있습니다.1. SELinux 상태 확인현재 SELinux의 상태를 확인합니다.sestatus위 명령을 실행하면 현재 SELinux 상태가 enforcing, permissive, disabled 중 하나로 나타납니다.enforcing : SELinux가 활성화되어 있고 보안 정책을 강제로 적용합니다.permissive : SELinux가 활성화되어 있지만 보안 정책을 적용하지 않습니다. 대신 정책 위반에 대한 경고 메시지가 로그에.. 더보기
C276x260.fwebp.q85 [draft] chown 명령어 chown 명령어chown 명령어는 Unix 및 Unix 계통의 운영 체제에서 파일 및 디렉토리 소유자를 변경하는 데 사용됩니다.기본 구문chown [옵션] 사용자:그룹 파일 또는 디렉토리사용자: 새로운 소유자의 사용자 이름 또는 UID(사용자 식별자)그룹: 새로운 소유 그룹의 그룹 이름 또는 GID(그룹 식별자)파일 또는 디렉토리: 소유자 및 그룹을 변경하려는 파일이나 디렉토리주요 옵션-R, --recursive: 하위 디렉토리와 파일에 대한 소유자 및 그룹 변경을 재귀적으로 적용합니다.사용 예시1. 디렉토리의 소유자 및 그룹 변경(사용자 및 그룹 이름 사용)chown john:users myfile.txtmyfile.txt 파일의 소유자를 john으로, 그룹을 users로 변경합니다. 2. 디렉토리의.. 더보기