본문 바로가기
  • 오늘처럼

Linux6

strace 를 통한 syscall 확인과 seccomp Kernel 과 system call 리눅스 운영체제에서 핵심이되는 프로그램은 커널(kernel) 이다. 커널은 하드웨어 장치와 어플리케이션(소프트웨어) 사이에서 동작하며 두 계층 사이의 인터페이스를 담당한다. 그 외에도 메모리 관리, I/O 장치 관리 등 하드웨어의 모든 주요 기능을 제어하면서 효율적인 자원 관리를 수행하게 된다. 운영체제의 자원인 메모리 영역은 크게 2가지 공간인, Kernel space(커널 공간) 와 User space(사용자 공간) 로 구분할 수 있다. 사용자가 작성한 프로그램이나 어플리케이션들은 이 사용자 공간의 메모리를 사용하게 되고, 커널 자체의 코드에 대한 부분이나 커널 확장 등의 경우 커널 공간의 메모리를 사용한다. 또한 이 커널 공간에는 시스템 내부적인 제어를 위해 시.. 2022. 9. 22.
Linux - sudo 와 su 명령어의 차이 리눅스 계열의 OS 를 사용하다보면, sudo 명령어나 su 명령을 자주 사용하게 된다. 1. 리눅스 계정 먼저 리눅스 운영체제에서 사용자(계정)는 다음의 4가지 타입으로 구분된다. Normal User account adduser 등의 명령어로 생성 가능한 일반 유저 ex) harang, tester1, user1, .... Superuser account 리눅스 시스템의 루트 유저로 UID 0번으로 지정. 시스템 내 제한 없는 권한을 보유 ex) root System account 주로 운영체제의 설치 과정에서 생성되는 계정으로, superuser 로 동작하지 않아도 되는 소프트웨어나 서비스에 사용 ex) ssh, mail Service account system account 와 유사하며, 서비스나.. 2022. 9. 8.
Ctr snapshot 명령을 이용해서 컨테이너에 파일 복사하기 컨테이너를 사용하여 작업을 할때 보통 'docker cp' 명령을 사용해서 컨테이너 안에 쉽게 파일을 복사한다. docker를 사용하지 않고 containerd를 런타임으로 사용하는 경우에도, 보통은 kubernetes 클러스터를 구축하였을 경우 kubectl 에서 제공하는 'kubectl cp' 명령어를 사용하여 쉽게 파드에 파일을 복사할 수 있다. 그런데 'kubectl cp' 의 경우 아래와 같이 help 명령어에서 알 수 있듯이 복사하려는 파드에서 tar 바이너리 파일이 있어야만 복사가 가능하다. docker cp 명령어와는 달리 내부적으로 tar 압축/압축해제 로직이 포함되어 있는 듯 하다. kubectl cp -h Copy files and directories to and from conta.. 2021. 11. 8.
[Linux] cat 명령을 사용해서 텍스트 파일 만들기 운영체제에 vi 나 nano 와 같은 텍스트 에디터가 없을 경우 cat 명령과 파이프라인을 이용하여 텍스트 파일을 만들수 있다. [root@localhost]# cat /etc/test/config.yaml config contents hello world~! EOF [root@localhost]# [root@localhost]# cat /etc/test/config.yaml config contents hello world~! 2021. 11. 4.
Linux shell script : 입력값 검증과 help 문구 쉘 프로그램 작성 vi 편집기 등을 이용하여 하단의 쉘 스크립트를 작성한다. #!/bin/bash declare -a CMDS CMDS=(option_a option_b option_c) function usage() { echo "" echo "USAGE: example.sh [$(IFS='|'; echo "${CMDS[*]}")]" echo "" } CMD=$1 if [[ " ${CMDS[@]} " =~ " $CMD " ]] then echo "" echo "Valid command." else echo "" echo "Invaid command: $CMD" usage exit 2 fi function _function_a() { echo "" echo "option a -> Calls functio.. 2021. 9. 9.
Linux 활용 : sed 명령어를 이용하여 텍스트 파일 치환 SED (Stream EDitor for filtering and transforming text) Usage : sed [OPTION]… {script-only-if-no-other-script} [input-file]… Option: -i in place. 현재 파일을 그대로 수정 텍스트 파일의 값을 치환 #set -i "s/대상텍스트/변경텍스트/g" 대상파일 sed -i "s/public/private/g" test.sql 텍스트 파일의 각 라인 끝 문자열을 제거 (혹은 수정) #sed -i "s/.\{제거할문자수\}$//g" 대상파일 sed -i "s/.\{6\}$//g" test.sql #만약 제거하고 다른 텍스트를 추가할 경우 하단과 같이 처리 sed -i "s/.\{6\}$/test/g" t.. 2021. 9. 5.