일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 클라우드
- 프로세스
- docker
- os
- 도커 컨테이너
- centOS
- centOS7
- linux
- 컨테이너
- C++
- boj
- 인프라
- NGINX
- swift 클로저
- devops
- 네트워크
- ios
- k8s
- AWS
- 부스트코스
- 리눅스
- 도커 명령어
- 도커 이미지
- 데브옵스
- 쿠버네티스
- 운영체제
- kubernetes
- Python
- 도커
- Swift
- Today
- Total
목록Infra & Devops/Linux (20)
귀염둥이의 메모
리눅스는 일반적으로 DAC(Discretionary Access Control) 접근 제어 모델을 사용합니다. DAC 는 사용자의 권한을 기반으로 파일과 자원에 대한 접근을 제어합니다. DAC는 편리하지만 특정 소프트웨어 취약점이 존재했을 때 취약점을 통해서 시스템 권한과 정보가 쉽게 탈취될 수 있다는 단점이 있습니다. SELinux(Security Enhanced Linux)는 리눅스의 보안을 강화해주는 커널 모듈이고, 이 것을 사용하면 DAC 이 아닌 MAC(Mandatoryy Access Control)을 사용합니다. MAC은 프로세스, 사용자, 포트, 파일 등에 정책을 부여해서 접근을 제어 합니다. 접근 제어 모델 DAC(Discretionary Access Control) : 임의적 접근 제어 ..

Linux 에서는 사용자(User)를 판별할 때, 사용자 이름으로 판별하지 않고 UID(User ID) 라는 사용자 번호로 확인합니다 그룹(Group) 은 공통의 목적을 가진 사용자들이 모인 집합으로 파일의 권한을 공유할 때 사용됩니다 그룹에도 그룹 이름과 그룹 고유 번호 GID(Group ID) 가 존재하고, 시스템이 GID 로 그룹을 판단합니다 사용자와 그룹 파일 파일 설명 /etc/passwd 시스템에 등록된 사용자 정보 /etc/shadow 시스템에 등록된 사용자의 패스워드와 패스워드에 대한 설정 /etc/group 시스템에 등록된 그룹 정보 /etc/gshadow 시스템에 등록된 그룹의 패스워드와 패스워드에 대한 설정 /etc/passwd 총 7개의 필드로 사용자의 정보를 저장하고 있고 각 필드..

튜닝 프로파일 시스템 성능 향상을 위해 목적에 따라 세부 설정 조절이 가능합니다 (퍼포먼스 튜닝) 실질적인 퍼포먼스 튜닝은 어렵고 복잡합니다 사용자 편의를 위해 제공하는 튜닝방식이 튜닝 프로파일입니다 tuned 데몬을 실행하고 프로파일을 설정합니다 tuned-adm 명령어로 프로파일 목록 확인 및 변경이 가능합니다 tuned-adm active (현재 상태 표시) tuned-adm list (전체 리스트 표시) tuned-adm profile [MODE] (프로파일 변경)

프로세스 프로세스는 현재 시스템에서 실행 중인 프로그램을 뜻합니다 사용자가 사용한 명령도 프로세스가 되어 실행되는데, 시스템에는 사용자가 실행한 프로세스 외에도 사용자 관리, 메모리 관리, 네트웤 ㅡ접속 관리 등 다양한 기능을 수행하는 많은 프로세스가 실행되고 있습니다 프로세스의 번호 각 프로세스는 고유한 번호를 갖고 있고 이를 PID 라 부릅니다 PID 는 1번부터 시작하고 프로세스가 실행되면서 하나씩 증가하여 부여됩니다 최신 리눅스에서 PID 1번은 systemd 프로세스가 실행되고, 2번은 kthreadd 프로세스가 실행됩니다 systemd 프로세스는 나머지 모든 시스템 프로세스의 부모 프로세스가 되고, kthreadad 프로세스는 모든 스레드의 부모 프로세스가 됩니다 프로세스 관련 명령어 ps :..

아카이브 파일 - 아카이브는 기록 보관소 등의 의미로 사용됩니다 - 여러 개의 파일을 묶어서 보관하는 방식의 파일입니다 - 백업 및 복제 등의 용도로 사용됩니다 - tar 명령을 사용합니다 tar 명령어 - 아카이브 파일 관리에 사용되는 가장 오래되고 일반적인 명령어 - 읽기 권한이 있어야 아카이브 가능 - 파일 생성 시 기본 위치는 현재 위치 - 파일 생성 시 피드백 없이 덮어씀 - 소유권 및 권한 까지 저장 가능 - 추가적인 압축 기능까지 제공 tar 옵션 옵션 의미 c (create) 새로운 묶음을 생성 x (extract) 묶인 파일을 풀어줌 t (list) 묶음을 풀기 전에 목록을 보여줌 f (file) 묶음 파일명을 지정해줌 v (visual) 파일이 묶이거나 풀리는 과정을 보여줌 -C 경로 ..

아이노드 (i-node) - i-node 는 전통적인 UNIX 계통 파일 시스템에서 사용하는 자료 구조입니다 - 파일 시스템에서 파일이나 디렉토리는 고유한 i-node 를 갖고 있으며 i-node 번호로 구분이 가능합니다 - 사용자가 파일에 액세스하기 위해서 파일 이름을 사용하지만 내부적으로는 디렉토리 테이블에 저장된 i-node 번호로 매핑됩니다 - ls -i [파일 or 디렉토리] 명령어로 i-node 번호 확인이 가능합니다 i-node 에 포함된 정보들 - 파일모드 (퍼미션) - 링크 수 - 소유자명 - 그룹명 - 크기 - 주소 (섹터 위치) - 마지막 접근 정보 - 마지막 수정 정보 - i-node 수정 정보 i-node 포인터 구조를 통해서 파일의 실제 데이터가 저장된 블록의 정보를 포함하여 파..

리다이렉션 (Redirection) - 프로세스의 입력 또는 출력 대상을 변경합니다 - 일반적으로 출력 값을 파일로 저장하는 용도로 사용합니다 - 표준 입출력 및 표준 에러에 대한 처리 기능 0 stdin (표준 입력) keyboard 1 stdout (표준 출력) monitor(terminal) 2 stderr (표준 에러) monitor(terminal) 기호 설명 표준 출력 재지정 (덮어쓰기) >> 표준 출력 재지정 (이어쓰기) 2> 표준 에러 재지정 (덮어쓰기) 2>> 표준 에러 재지정 (이어쓰기) >& 표준 출력&에러 재지정 (덮어쓰기) >>& 표준 출력&에러 재지정 (이어쓰기) 파이프( | ) - 두 개 이상 명령어를 함께 사용합니다 - 첫 번째 명령의 표준 출력을 두 번째 명령의 표준 입력으..
grep (Global Reuglar Expression Print) - 텍스트 파일에서 원하는 문자열이 들어간 행을 찾아 출력하는 명령어 - 주로 log 파일에서 특정 날짜, 문자로 기록된 error 메시지를 찾는데 유용하게 사용 grep [option] [정규표현식(문자열)] [file(s)] *입력으로 파일명이 오지 않으면 표준입력으로 부터 입력을 받음 주요 옵션 옵션 (대소문자 구분) 의미 -b 문자열이 포함된 행의 시작점 출력 -c 문자열이 들어있는 행의 개수 출력 -i 대소문자 구분하지 않음 -n 행의 번호와 내용을 같이 출력 -v 문자열이 포함되지 않은 행 출력 -l (소문자 L) 문자열을 포함하는 파일의 이름 출력 -w 하나의 단어로 포함된 행 출력 -r 하위 디렉토리의 파일까지 모두 출력..
큰 따옴표 (") - 몇개의 문자 외에는 문자열을 그대로 출력합니다 - $ 를 사용해서 변수 값 출력 가능합니다 - `, $, \ 기호를 사용하면 기능이 활성화 됩니다 # echo "$HOME" >> /root # echo "$PATH" >> /usr/local/sbin: ... 작은 따옴표 (') - 문자열을 그대로 출력합니다 - 작은 따옴표는 모든 문자를 무시합니다 - `, $, \ 기호 기능을 무시합니다 # echo '$HOME' >> $HOME # echo '\$HOME^$PATH' >> \$HOME^$PATH # echo 'ls' >> ls 백틱 (`) - 명령어를 실행한 결과를 출력합니다 - 명령어 결과값을 담거나 출력할 때 사용됩니다 # echo `pwd` >> / # echo `ls` >>..
/bin : 사용자 shell과 관련된 명령 /sbin : 일반적으로 root에 의해 실행되는 필수 시스템 명령 /usr : 설치된 소프트웨어 및 라이브러리 포함 (유저 데이터만 읽는 파일) /boot : 부팅 관련 설정 파일들 /dev : 하드웨어 접근을 위해 시스템이 사용하는 특수 장치 파일 포함 /etc : 사용자 설정 파일 및 서버 환경 설정 파일 등 /home : 시스템 유저들을 위한 홈 디렉터리들 /root : root 사용자 홈 디렉터리 /run : 마지막 부팅 이후 시작된 프로세스의 런타임 데이터 /tmp, /var/tmp : 임시 저장 파일 (재부팅하면 지워짐) /var : 시스템 고유의 가변 데이터 (DB, cache, log)