리눅스 생태계의 다음 진화: 디지털 서명을 통한 소프트웨어 신뢰 강화서론리눅스 운영체제는 현재 전 세계 서버 인프라, 클라우드 환경, 그리고 수많은 임베디드 장치에서 핵심적인 역할을 수행하고 있다. 리눅스의 오픈 소스 철학은 투명성과 커뮤니티 협력을 통해 소프트웨어 품질을 높여왔지만, 현대의 복잡하고 상업화된 디지털 환경에서 소프트웨어의 신뢰성을 보장하는 방식은 진화가 필요하다. 윈도우(Windows)의 디지털 서명(Authenticode)과 같은 메커니즘은 파일의 '출처'와 '무결성'을 강력하게 보증한다. 리눅스 역시 패키지 관리 시스템 내에서 GPG 서명을 활용하고 있지만, 개별 실행 파일 수준의 강력한 신원 보증 및 사용자 친화적인 검증 시스템을 적극적으로 도입하고 활용하여 소프트웨어 공급망 보안을..
리눅스 C++ Signal 핸들러 클래스 (멀티스레드 기반) 1. 개요 이 문서는 리눅스 환경에서 시그널 처리 전용 클래스를 만들고, 별도의 스레드에서 안전하게 시그널을 처리하는 구조를 설명합니다. 2. 핵심 설계 시그널과 콜백을 등록하는 유연한 클래스 구조 핸들링은 별도 스레드에서 sigwaitinfo()로 처리 메인 스레드는 자유롭게 동작 가능 3. 클래스 헤더: SignalHandler.hpp #pragma once#include #include #include #include #include #include class SignalHandler {public: using Callba..
리눅스 (RHEL, CentOS 등) 버전 정보 확인 방법 리눅스 시스템에서 Red Hat Enterprise Linux(RHEL), CentOS, Rocky Linux, AlmaLinux 등의 버전 정보를 확인하려면 아래 명령어들을 사용하면 됩니다. 1. /etc/os-release 파일 확인 가장 표준적이고 많이 쓰이는 방법입니다. cat /etc/os-release 💡 대부분의 최신 리눅스 배포판에서 이 파일이 존재합니다. 2. hostnamectl 명령어 시스템 정보와 함께 OS 버전 정보를 출력합니다. systemd 기반 배포판에서 지원됩니다. hostnamectl 3. lsb_release 명령어 일부 리눅스에서는 lsb-release 패키지를 설치하면..
파일 접근 제어 요약 1. 주요 목표 파일 접근 제어: 파일 및 디렉토리에 대한 접근을 관리하고 허용, 차단, 로그 작업을 수행합니다. 성능과 안정성 보장: 커널 복잡성을 줄이고, 커널 업데이트의 영향을 최소화합니다. 유연성과 확장성: 정책을 사용자 영역에서 관리하여 동적 업데이트를 가능하게 합니다. 2. 제안된 설계 흐름 사용자 영역에서 정책 관리: 정책 파일(JSON/XML)을 읽어 메모리에 저장하고 정렬하여 효율적으로 검색합니다. 커널 모듈 후킹: 주요 파일 I/O 함수(vfs_open, vfs_read 등)를 후킹합니다. 콜백 등록: 사용자 영역에서 커널로 콜백 함수 포인터를 전달합니다. ..
리눅스 타이머 방식 정리 및 비교표1. 리눅스에서 사용 가능한 타이머 방식리눅스에서는 다양한 방식으로 주기적인 작업을 수행할 수 있습니다. POSIX 타이머, sleep, pthread, alarm 등 여러 방식이 존재하며, 각각의 방식은 성능과 사용 용도에 따라 적합성이 다릅니다.2. 리눅스 타이머 방식 및 예제 코드1. POSIX 타이머 (timer_create)설명: 고정밀 타이머로, SIGEV_THREAD 옵션을 사용해 타이머 만료 시 별도의 스레드에서 콜백이 실행됩니다.#include #include #include void timer_handler(union sigval sv) { printf("Timer expired! Data sent.\n");}void create_timer() {..
1. Red Hat 환경 준비1.1 필수 패키지 설치다음 명령으로 개발에 필요한 도구와 라이브러리를 설치합니다:sudo yum groupinstall "Development Tools"sudo yum install gcc gcc-c++ cmake ninja-build gdb zlib-devel openssl-devel boost-devel sqlite-devel libstdc++-devel 최신 GCC 버전(GCC 12 이상)을 설치하려면:sudo yum install gcc-toolset-12scl enable gcc-toolset-12 bash 1.2 PATH 설정환경 변수 PATH에 최신 도구 경로를 추가합니다:export PATH=/opt/rh/gcc-toolset-12/root/usr..
- Total
- Today
- Yesterday
- Windows
- 암호화
- 스쿠버다이빙
- 블루버블
- 서귀포블루버블
- 블루버블다이빙팀
- 성산블루버블
- C#
- 울릉도
- 제주도
- DLL
- C++
- PowerShell
- OpenSource
- Linux
- 현포다이브
- ReFS
- 서귀포
- C
- ip
- 디자인패턴
- Build
- 양파다이브
- 패턴
- 블루버블다이브팀
- 다이빙
- RSA
- 리눅스
- Thread
- 윈도우
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
