2024/05 6

Linux systemd 완전 정복하기

systemd리눅스 시스템 관리에 있어서 systemd는 중요한 구성 요소 중 하나입니다. 이 글에서는 systemd가 무엇인지, 그리고 systemd에서 사용하는 유닛 파일들에 대해 자세히 알아보겠습니다.systemd란? systemd는 리눅스 시스템과 서비스 관리자로, 초기화 시스템(init), 시스템 서비스 관리자, 그리고 세션 관리자의 역할을 합니다. 대부분의 최신 리눅스 배포판에서는 기본 초기화 시스템으로 systemd를 사용합니다. systemd는 시스템의 부팅 과정을 책임지며, 시스템이 가동되는 동안 서비스들을 시작, 중지, 관리합니다.systemd의 주요 기능병렬 처리: systemd는 서비스들을 병렬로 시작합니다. 이는 시스템의 부팅 시간을 단축시킵니다.유닛 파일: 서비스, 소켓, 디바이..

Linux 2024.05.07

Linux 부팅 프로세스

Linux 부팅 프로세스모던 리눅스에서 소개되는 리눅스 부팅 프로세스에 대해 자세하게 설명하고자 합니다. 리눅스의 부트 프로세스는 일반적으로 하드웨어와 커널이 함께 동작하는 여러 단계의 작업으로 구성됩니다.컴퓨터의 전원이 켜진 순간부터 리눅스 운영체제가 완전히 시작될 때까지 아래의 일련의 단계로 구성됩니다.1단계: BIOS/UEFI컴퓨터의 전원이 켜지면 BIOS(Basic Input/Output System) 또는 UEFI(Unified Extensible Firmware Interface)가 활성화됩니다. 이 펌웨어 소프트웨어는 하드웨어를 초기화하고 전원 켜기 자가 진단(POST / Power On Self Test)을 수행하여 컴퓨터의 기본 하드웨어가 제대로 작동하는지 확인합니다.2단계: 부트로더BI..

Linux 2024.05.07

Linux 접근 제어 목록(ACL) 이란?

접근 제어 목록(ACL)Access Control List (ACL)는 파일과 디렉토리에 대해 세분화된 사용자 및 그룹 권한을 설정할 수 있게 해주는 기능입니다. 기본적인 리눅스 권한 시스템은 소유자, 그룹, 기타에 대한 권한을 제공하는 반면, ACL을 통해서는 특정 사용자 또는 그룹에 대해 더 구체적인 권한을 부여할 수 있습니다.ACL 사용을 위한 준비대부분의 현대 리눅스 배포판은 ACL을 지원하지만, getfacl 및 setfacl 명령어를 사용하기 위해서는 acl 패키지를 설치해야 합니다. Ubuntu에서는 다음 명령어로 설치할 수 있습니다:$ sudo apt-get update$ sudo apt-get install aclACL 설정 방법ACL 설정 확인: 파일이나 디렉토리에 대한 현재 ACL 설..

Linux 2024.05.03

Linux seccomp 프로필과 접근제어목록(ACL)이란?

seccomp 프로필seccomp 는 보안 컴퓨팅 모드(secure computing mode)로 2005년부터 사용할 수 있게 된 리눅스 커널 기능중 하나입니다.샌드박스의 기술의 기본 개념인 seccomp라는 전용 시스템 콜을 통해 프로세스가 사용할 수 있는 시스템 콜을 제한할 수 있습니다. 컨테이너와 관련되어서는 Docker와 Kubernetes 모두 seccomp를 지원하고 있습니다. 다양한 Seccomp 프로필 작성 방법Seccomp 프로필은 JSON 형식으로 작성되며, 주로 다음과 같은 구조를 가집니다:defaultAction: 기본적으로 적용할 행동 (SCMP_ACT_ALLOW, SCMP_ACT_ERRNO 등)architectures: 프로필이 적용될 아키텍처syscalls: 시스템 호출에 대..

Linux 2024.05.03

Linux Capability 란?

리눅스에서 Capability과 Seccomp profile는 시스템 보안 강화를 위한 중요한 메커니즘입니다. 두 기능 모두 프로세스가 운영체제와 상호작용하는 방식을 제한함으로써 보안을 향상시킬 수 있습니다. 이번 글에서는 우선 Capability에 대해 설명하도록 하겠습니다. Capability전통적인 Unix-like 시스템에서, root 계정(UID 0)은 모든 권한을 가지고 있습니다. 이는 매우 강력하지만, 만약 root 권한을 가진 프로세스가 취약점을 갖고 있다면 시스템은 큰 위험에 노출될 수 있습니다. 리눅스 Capabilities는 root 권한을 더 세밀하게 분할하여, 특정 권한만을 프로세스에 부여할 수 있게 합니다. 예를 들어, 네트워크 소켓을 열 수 있는 권한, 시스템 시간을 변경할 수..

Linux 2024.05.02

RUID EUID SUID 란?

"모던리눅스 교과서" 책을 읽던 중 RUID, EUID, SUID 에 대해 읽게 되었는데 이해를 위해 좀 더 찾아보고 정리하는 글입니다.RUID (Real User ID)RUID는 프로세스를 실행시킨 실제 사용자의 ID입니다. 이는 사용자가 시스템에 로그인할 때 할당되고, 대부분의 경우에 변경되지 않습니다.EUID (Effective User ID)프로세스가 시스템 리소스에 접근할 때 사용하는 ID입니다. EUID는 특히 파일이나 다른 시스템 리소스에 접근 권한을 체크할 때 중요하게 사용됩니다. 만약 어떤 프로그램이 SUID 비트가 설정된 상태로 실행된다면, 그 프로그램의 EUID는 프로그램의 소유자 ID로 설정됩니다.SUID (Set-user-ID)특수한 접근 권한으로, 파일을 실행할 때 실행 파일의 ..

Linux 2024.05.02