본문 바로가기

리눅스

Linux - 일반계정으로 1024이하 포트 사용방법 (setcap / getcap) 리눅스에서 1024 이하의 포트는 일반적으로 root 권한이 있어야만 사용할 수 있습니다.하지만 보안 이유로 인해 일반 사용자 계정으로 웹 서버(Apache 또는 Tomcat)를 실행해야 하는 경우가 많습니다.이때 capabilities 기능을 사용하여 일반 사용자도 root 권한 없이 1024 이하의 포트를 사용할 수 있습니다.Capabilities란?root 계정은 모든 권한을 갖고 있지만 일반 사용자 계정에게 root 권한을 부여하지 않으면서 특정 작업을 허용하려면 capabilities 기능을 사용할 수 있습니다. root 권한을 나누어 특정 작업(예: 포트 바인딩)을 수행할 수 있게 해 줍니다.특히 cap_net_bind_service라는 권한을 사용하면 일반 사용자도 1024 이하의 포트(“p.. 더보기
Linux - jq 명령어란? (JSON 데이터 처리기) 1. jq란 무엇인가?jq는 JSON 데이터를 처리하고 파싱 할 수 있도록 도와주는 유틸리티입니다. 마치 sed나 awk처럼 사용되며, JSON 포맷의 데이터를 필터링하고 변환하는 데 특화되어 있습니다. 복잡한 JSON 데이터 구조에서 특정 값만 추출하거나 데이터를 재구성하는 데 매우 유용합니다.2. jq 설치하기 # aptsudo apt-get updatesudo apt-get install jq# apt(select version)sudo apt-get install jq=1.5*# yumsudo yum install jq# yum(select version)sudo yum install jq-1.5# dnfsudo dnf install jq# source codegit clone cd jqautor.. 더보기
Linux - /proc/[PID]/status 파일 정보 리눅스에서는 각 프로세스에 대한 정보를 /proc 디렉토리를 통해 확인할 수 있습니다. 이 디렉토리는 시스템이 동작하는 동안 생성되며, 각 프로세스에 대한 상태 정보를 제공하는 가상 파일 시스템입니다. /proc 아래에는 각 프로세스 ID(PID)를 이름으로 하는 디렉토리가 있으며, 그 아래 status라는 파일을 통해 해당 프로세스의 상세 정보를 확인할 수 있습니다./proc/[PID]/status 파일 개요status 파일은 프로세스의 상태를 설명하는 정보가 있고 성능 모니터링, 문제 해결, 시스템 최적화를 위해 사용합니다.주요 정보 필드Name프로세스 이름 (예: sshd)Umask파일 생성 마스크 (권한 설정 시 기본 마스크 값)State프로세스의 현재 상태 (R: 실행 중, S: 대기 중, D:.. 더보기
Linux - Date 명령어로 타임스탬프 변환하기 리눅스(Linux)에서 date 명령어는 시스템의 날짜와 시간을 출력하거나 설정하는 데 사용됩니다. 날짜와 시간을 다루는 다양한 형식을 지원하며, 이를 통해 타임스탬프를 읽기 쉽거나 특정 형식으로 변환할 수 있습니다. 또한, 타임스탬프 값을 받아 사람이 이해할 수 있는 날짜로 변환하는 기능도 제공합니다.1. date 명령어 기본 사용법리눅스의 date 명령어는 기본적으로 현재 시스템의 날짜와 시간을 출력합니다.# date2024. 10. 02. (수) 09:17:42 KST기본 출력 형식은 시스템의 로케일 설정에 따라 다를 수 있지만, 일반적으로 "년-월-일 시:분:초" 형식으로 나타납니다.특정 형식으로 날짜와 시간을 출력하고 싶다면 + 옵션을 사용하여 원하는 포맷을 지정할 수 있습니다.# date +".. 더보기
Linux - 리눅스 주요 로그 파일 정리 리눅스 시스템에서 로그 파일은 시스템의 상태를 모니터링하고, 사용자 활동을 추적하며, 보안 사고를 분석하는 데 중요한 역할을 합니다. 로그 파일을 이해하고 적절하게 관리하는 것은 시스템 관리자에게 필수적인 기술입니다.주요 로그 파일 요약로그 파일위치내용명령어utmp/var/run/utmp현재 로그인한 사용자들의 상태 정보w, who, fingerwtmp/var/log/wtmp성공한 로그인/로그아웃 및 시스템 부팅/종료 이력last, lastbbtmp/var/log/btmp실패한 로그인 시도 기록lastblastlog/var/log/lastlog각 사용자별 가장 최근 로그인 기록lastlogsecure/var/log/secure사용자 인증 관련 정보 (로그인, 사용자 추가/삭제 등)cat, grepmess.. 더보기
Linux - SELinux 끄는 방법 SELinux란?SELinux(Security-Enhanced Linux)는 리눅스 시스템의 보안을 강화하기 위해 프로세스와 파일 접근을 엄격하게 제어하는 강제 접근 제어(MAC) 보안 아키텍처입니다. SELinux는 왜 필요한가?SELinux는 시스템 무단 변경이나 비정상접근을 방지하기 위해 사용됩니다. 멀티 유저 환경에서 개별 프로그램이 시스템의 나머지 부분에 미치는 영향을 최소화하여 보안 위협을 상당 부분 차단할 수 있습니다. 예를 들어, 웹 서버가 해킹당할 경우, SELinux 정책이 적절히 설정되어 있다면 해커가 시스템의 다른 부분에 접근하는 것을 막을 수 있습니다. SELinux의 어떻게 사용되나?SELinux는 세 가지 모드로 나뉩니다: 강제(Enforcing), 허용(Permissive),.. 더보기
Linux - Vi editor에서 문자열 치환(replace) 방법 vi는 Unix와 Linux 계열에서 사용되는 텍스트 에디터로, 텍스트 기반의 사용자 인터페이스를 제공합니다.vi editor는 모달을 기반으로 작동하며, 주로 세 가지 모드를 사용합니다:일반 모드 (Normal Mode): 텍스트를 삭제하거나 복사하는 등의 편집 작업을 할 수 있습니다.삽입 모드 (Insert Mode): 텍스트를 추가하거나 수정할 때 사용합니다.명령 모드 (Command Mode): 파일을 저장하거나 종료하는 등의 명령을 입력할 수 있습니다.* vim 이란? vi의 기능을 확장하여 고급 편집 기능과 사용자 맞춤 설정을 제공하는 상위 호환 텍스트 에디터 *vi editor에서 문자열 치환해 보기 (기본)Linux 환경에서 스크립트를 작성하다 보면 특정 단어를 다른 단어로 교체(repla.. 더보기
Linux - 서버에 ping 요청 차단하기 / icmp 차단 Ping 이란?Ping은 네트워크 장치 간의 연결 상태와 통신 속도를 확인하는 도구입니다. ICMP를 이용하여 특정 호스트에 "에코 요청" 메시지를 보내고, 그 호스트로부터 "에코 응답"을 받습니다. 이 과정을 통해 데이터 패킷이 목적지까지 도달하는 데 걸리는 왕복 시간(RTT, Round-Trip Time)을 측정하며, 네트워크 연결의 존재 여부와 품질을 판단할 수 있습니다. 리눅스 서버에서 Ping을 차단하는 방법은 여러 가지가 있습니다.서버에서 ICMP(Internet Control Message Protocol) 요청을 차단하여 Ping을 막을 수 있습니다.1. iptables을 사용한 방법 (CentOS/RHEL 6 이하)모든 외부 ICMP 트래픽 차단# iptables -A INPUT -p i.. 더보기