Journey to Security/Linux OS 39

리눅스 파티션 분할로 서버 보안과 안정성 챙기기 (+Rocky Linux 9 파티션 분할 설치 방법)

리눅스 서버를 구축할 때 가장 먼저 디스크 공간을 어떻게 나눌 것인지 고민해야 한다.파티션 분할은 단순히 용량을 배분하는 문제를 넘어 시스템의 운영 안정성, 보안, 백업 효율성, 그리고 장애 대응 능력과 직결된다. 실무 관점에서 파티션 분할의 필요성을 살펴보고, 로키 리눅스 9(Rocky Linux 9)를 이용해 실제로 파티션을 나누어 설치해보자. 1. 왜 리눅스에서 파티션을 분할할까?단일 파티션(/ 하나에 모든 디렉터리를 포함)으로 구성된 시스템은 관리가 편해 보이지만, 보안 사고나 시스템 장애 발생 시 치명적인 약점이 된다.장애 확산 방지 및 보안 강화특정 서비스에서 로그 파일이 폭증하거나 사용자가 대용량 파일을 업로드하여 디스크가 꽉 차는 상황이 발생할 수 있다.이때 파티션이 분리되어 있지 않으면 ..

passwd --stdin 옵션을 활용한 비밀번호 변경 자동화

리눅스 시스템 관리 과정에서 대량의 사용자 계정을 생성하거나 비밀번호를 일괄적으로 변경해야 할 때가 있다.이때 passwd 명령어의 --stdin 옵션을 활용하면 인터렉티브한 입력 과정 없이 파이프와 스크립트만으로 자동화 처리가 가능하다. 1. --stdin 옵션 이해하기일반적으로 passwd 명령어를 실행하면 비밀번호를 두 번 입력하는 대화형(Interactive) 과정을 거친다.하지만 --stdin 옵션을 사용하면 표준 입력(Standard Input)을 통해 비밀번호를 전달받을 수 있다.주로 파이프(|)와 함께 사용하며, 셸 스크립트 내에서 자동화 처리를 할 때 필수적인 옵션이다. 2. 기본적인 사용법먼저 --stdin 옵션을 사용하여 수동으로 비밀번호를 입력하는 방식이다.명령어를 실행하면 비밀번호..

리눅스 명령어는 어떤 파일을 참조할까? strace로 파일 접근 추적하기

리눅스 시스템을 관리하다 보면 특정 명령어가 어떤 설정 파일을 읽는지, 혹은 어떤 로그 파일을 참조하는지 궁금할 때가 있다.소스 코드를 뒤져보지 않고도 이를 알아낼 수 있는 방법이 바로 strace를 활용하는 것이다. 1. 왜 strace를 사용하는가?리눅스의 모든 프로세스는 파일을 열거나 네트워크를 사용하는 등 커널의 도움이 필요할 때 시스템 콜(System Call)을 호출한다.strace는 이 신호를 가로채서 화면에 뿌려주는 도구다.특히 "프로그램이 실행될 때 어떤 파일을 읽으려다 실패했는가?"를 찾는 트러블슈팅에 유용하다. 2. 2> /dev/stdoutstrace를 단순히 실행하면 분석 내용이 너무 길어서 원하는 정보를 찾기 힘들다.이때 다음과 같은 조합을 사용한다.strace [명령어] 2>..

압축/아카이브 관련 명령어

파일 압축은 gzip, bzip2, xz, zip이 있다.그 중에서도 gzip, bzip2, xz를 많이 사용한다.1. gzip1️⃣ gzip 파일1 파일2 ... : 파일을 압축한다. 압축을 하면 원본 파일을 압축하고 원본파일을 삭제한다.gzip으로 압축하면 파일명.gz으로 생성된다.압축을 해제하려면 -d 옵션을 사용한다.gzip --help로 사용법 확인. /usr/bin/ls와 /usr/bin/mv 파일을 현재 디렉터리로 복사한다.[linuxadmin@www ~]$ cp /usr/bin/ls .[linuxadmin@www ~]$ cp /usr/bin/mv .또는 아래와 같은 방법으로 한 번에 복사할 수 있다.[linuxadmin@www ~]$ cp /usr/bin/{ls,mv} . [linuxadm..

사용자/그룹/로그인 관련 명령어

1. who : 로그인 사용자시스템에 로그인한 사용자를 확인로그파일 중에서 /var/run/utmp 파일을 참조사용자가 로그인을 할 때 /var/run/utmp 파일에 정보가 기록된다. [linuxadmin@localhost ~]$ ll /var/run/utmp -rw-rw-r--. 1 root utmp 2304 3월 19 14:10 /var/run/utmp [linuxadmin@localhost ~]$ strace -bash: strace: 명령어를 찾을 수 없음 [linuxadmin@localhost ~]$ sudo dnf -y install strace[linuxadmin@localhost ~]$ strace who 2> /dev/stdout | grep var [linuxadmin@localh..

리눅스 기본 명령어 모음

명령어 도움말 :man 페이지를 이용 (man-page가 없으면 패키지를 설치)rpm -q man-pagessudo dnf -y install man-db man-pages--help, -h 이용 (명령어에 따라 이 옵션이 없을수도 있음) 1. ip -br -4 a : IPv4 주소로 간단하게 표시2. echo $LANG : 언어셋 환경변수 설정값 출력 (한글로 설치했으면 ko_KR.UTF-8)3. LANG=en_US.UTF-8 : 언어셋 환경변수 값 영어로 변경4. ls -alh : 숨김파일 포함해서 용량 단위로 자세히 보기5. ls -alt : 숨김파일 포함 시간순으로 자세히 보기6. ls / : 최상위 디렉터리 보기7. cd : 홈 디렉터리(home/계정) 로 이동 = cd ~ , cd /home ..

Rocky Linux 서버 IP 설정 (nmtui)

1. 루트 계정 로그인2. # nmtui 3. VMWare Workstation 메뉴 > Edit > Virtual Network Editor로 들어가서 네트워크 설정 확인 네트워크 길이: 프리픽스의 길이 = 24브로드캐스트 주소: 192.168.100.255가용 IP주소: 192.168.100.1~254192.168.100.1 : Host OS가 잡고있음.Host는 외부 통신이 안되고 NAT는 외부 통신이 됨. 192.168.100.1: 게이트웨이가 잡고 있음.가용 IP: 192.168.100.3 부터 설정 가능 4. 아래와 같이 설정 후 재부팅 연습용으로 설정할 때는 간단하게 재부팅을 할 수 있다. # reboot 하지만 실무에서는 네트워크 설정 후 서버를 재부팅하면 너무 오래걸리기 ..

리눅스 스토리지 계층 구조의 이해: 디스크, 파티션, 파일 시스템

리눅스 시스템 관리의 핵심은 물리적 저장 장치를 논리적인 데이터 관리 체계로 변환하는 과정을 이해하는 데 있다.이 포스팅을 통해 헷갈리기 쉬운 디스크, 파티션, 파일 시스템의 개념적 차이를 명확히 하고, 실제 Rocky Linux 환경에서의 파일 시스템 조회 데이터를 가지고 파일 시스템이 어떻게 구성되어 있는지 알아보자.1. 스토리지 관리의 3단계: 디스크, 파티션, 파일 시스템리눅스에서 저장 장치는 세 가지 논리적 단계를 거쳐 준비된다.디스크 (Disk): HDD 또는 SSD와 같은 물리적인 하드웨어 장치 그 자체를 의미한다. 리눅스 커널은 이를 /dev/sda 또는 /dev/nvme0n1과 같은 장치 파일로 인식하며, 이 상태에서는 아직 데이터를 구조적으로 저장할 수 없다.파티션 (Partition)..

/lib : 정적 라이브러리(.a) vs 동적 공유 라이브러리(.so)

리눅스 시스템 프로그래밍의 기초이자, 효율적인 소프트웨어 빌드 전략을 세우기 위해 반드시 이해해야 할 정적 라이브러리(Static Library)와 공유(동적) 라이브러리(Shared Library)의 차이점을 알아보자.1. 라이브러리 결합 방식의 이해라이브러리란 자주 사용되는 함수들을 미리 컴파일하여 모아놓은 파일이다.프로그램이 빌드될 때 이 라이브러리를 어떻게 포함하느냐에 따라 정적과 동적으로 나뉜다.🟣정적 라이브러리 (Static Library, .a)정적 라이브러리는 컴파일의 마지막 단계인 링크(Linking) 시점에 라이브러리 파일 내의 필요한 기계어 코드를 실행 파일에 직접 복사한다.독립성: 필요한 모든 코드가 실행 파일 내부에 포함되어 있어, 실행 환경에 해당 라이브러리가 없어도 단독으로 ..

1 2 3 4