전체 글(62)
-
블로그 이전 공지
안녕하세요. 해당 블로그는 다음 주소로 이전 되었습니다. 방문해 주셔서 감사합니다! - https://wglee.gitbook.io/blog/
2023.06.16 -
[K8S] Service (NodePort / ClusterIP / LoadBalancer)
Service ? Worker Node위에 생성된 pod는 기본적으로는 외부에서 접근이 불가능하다. Service를 이용하여 외부 사용자의 pod 접근 및 pod pod 의 효율적인 내부접근을 구성할 수 있다. Service의 기능은 다음과 같다. Cloud platform의 로드밸런서 or 클러스터에 속한 worker node의 port를 통해 pod를 외부에 노출 여러 pod에 쉽게 접근할 수 있는 고유한 도메인 이름 부여 여러 pod에 접근할 때 요청을 분산하는 LB 기능 수행 Service에는 3가지 종류가 있다. NodePort / ClusterPort / LoadBalancer 타입이다. 하나씩 알아보도록 하자! NodePort Type Worker Node의 특정 port를 개방하여 외부에서..
2022.11.14 -
[Linux] How to set password expiry date
Intro 리눅스 시스템 관리시에 보안을 위해 사용자 패스워드를 정기적으로 재설정 하는 경우가 많다. 계정의 패스워드의 만료일 뿐만 아니라 만료일 경고, 패스워드 최소 사용일 등도 설정 가능하다. /etc/login.defs 파일 수정 및 chage 명령어를 사용해서 이를 수행할 수 있다. 임의의 패스워드 사용 정책에 따라 아래와 같이 설정하도록 하겠다. -- 패스워드 만료일 30 -- 패스워드 최소 사용일 1 -- 패스워드 만료 경고일 7 /etc/login.defs /etc/login.defs 파일은 계정 생성 시에 참조 되는 설정 파일이다. home directory 사용 여부, 기본 umask, shadow password 설정 등을 할 수 있다. 다만 /etc/login.defs 파일에 설정한 ..
2022.09.25 -
KDUMP - vmcore 분석 방법
Intro kdump는 Kernel Crash된 시스템의 장애 원인을 분석하기 위한 core dump를 생성하는 역할을 한다. kdump은 커널 패닉이 발생하면 kexec 시스템 콜을 사용해서 본래 부팅하던 커널이 아닌, capture kernel 로 부팅한다. capture kernel로 부팅하면 crash 된 커널의 메모리 덤프(ex. vmcore)를 떠서 파일로 남기게 된다. 사용자는 서버 재부팅 후 vmcore 파일로 시스템 장애 원인을 분석할 수 있다. vmcore의 커널과 다른 버전의 OS에서 디버깅 하는 법을 테스트 하기 위해 일부러 상이한 버전에서 진행하였다. 고객사의 vmcore을 받아 분석해야 하는 경우 꼭 같은 버전에서 분석하라는 법이 없기 때문에 알아두면 좋다. TIP sosrepo..
2022.09.25 -
UMASK 개념과 UMASK 원리를 활용한 협업 디렉터리 구성하기
Intro 파일이나 디렉터리가 생성됨과 동시에 지정된 권한을 따르도록 하기 위해 umask를 사용한다. UMASK? umask 가 적용되는 원리는 아래와 같다. linux 에서 디렉터리는 기본권한이 777이고, 파일은 666이다. 새로운 파일/디렉터리를 생성할 때 기본 권한에서 umask 값을 빼면 최종 권한이 결정된다. 예를 들어서 umask가 022인 계정이 파일을 생성하면 파일의 권한은 666-022=644가 된다. /etc/bashrc와 /etc/profile 에는 각각 다음과 같이 umask 를 설정하는 코드가 있다. UID가 199 보다 크고, 그룹명과 계정명이 같으면 umask 002로 설정하고 그 외에는 022로 설정한다. CentOS 7.6 에서 system 계정으로 예약된 uid는 0~..
2022.09.25 -
[Session Timeout] sshd_config의 ClientAlive* 와 Shell 변수 TMOUT 의 차이
Intro Linux 세션 타임아웃을 설정하기 위해 sshd_config 의 ClientAliveInterval, ClientAliveCountMax를 설정했으나 나의 의도처럼 동작하지 않았다. 나의 목표는 터미널에서 60초 동안 아무런 명령어를 치지 않았을 때 세션이 끊기는 것이었다. sshd_config 의 ClientAlive* 지시자 들은 쓰임새가 다른 것인데 그것을 login session timeout으로 오해해서 생긴 문제였다. 나와 같은 오해를 하는 케이스가 있을 수 있을 것 같아 정리해 본다. sshd_config - ClientAliveInterval, ClientAliveCoundMax 서버는 client system이 살아있는지 확인하기 위해 packet을 보내고, 응답을 받으면 세..
2022.09.24 -
PAM 개념 및 패스워드 복잡성 설정 방법 (pwquality.conf)
Intro PAM (Pluggable Authentication Modules) 은 console/network ssh 등으로 시스템에 로그인 할 때 사용자 인증에 사용되는 모듈이다. PAM 은 다양한 application 들이 각자의 상황에 맞는 인증을 하도록 모듈화 할 수 있다. pam 은 root 를 포함하여 모든 계정에 공통적으로 적용되기 때문에 매우 조심스럽게 설정해야 한다. pam 을 수정해야 하는 경우 root 세션을 추가로 연결해 두어 문제 발생시 재설정을 할 수 있도록 대비하는 것이 좋다. FYI 해당 게시글은 PAM 에 대해 알아보기 위해 작성된 것으로, RHEL8 부터는 pam 파일을 직접적으로 수정하는 것은 권장 되지 않고 있다. 기존의 authconfig 명령어가 authselec..
2022.09.24 -
헷갈리는 데이터의 단위 정리 ( KB, KiB / MB, MiB )
Intro 데이터의 단위를 보다 보면 KB, MB, GB.. 가 있는 반면 KiB, MiB.. 같은 단위도 볼 수 있다. 두 데이터 단위의 차이는 2진수로 데이터를 처리하는 컴퓨터의 특성 때문인 것으로 알고 있다. KB 는 10진수로 데이터를 계산하는 반면, KiB는 2의 10승 단위로 데이터를 계산하는 것이다. 머릿속에서 파편화 되어 있는 단위들을 한번 정확하게 정리해 보도록 한다. SI 단위 일상생활에서 익숙하게 접하는 데이터 단위에 해당한다. 10진수로 데이터를 계산하여서 값 비교가 좀 더 편리하고 인간 친화적이다. 1KB(kilo-bytes, 킬로바이트) = 1,000B (byte. 바이트) 1MB(mega-bytes) = 1,000KB 1GB (giga-bytes) = 1,000MB 1TB (t..
2022.09.18 -
Remote client 에서 MariaDB 원격 접속 방법
Intro MariaDB에 원격 서버로부터의 접근을 허용하고, 사용자 계정에 따른 권한 부여를 하여 보안을 강화하도록 한다. MariaDB-Client, MariaDB-Server 설치 MariaDB client에 해당하는 WEB 서버에 MariaDB-Client 패키지를 설치하고, DB 서버에 Mariadb-Server 패키지를 설치한다. MariaDB 패키지를 설치하기 위해서는 아래 링크에서 yum repo를 복사하여 각 서버에 추가하여야 한다. https://mariadb.org/download/?t=repo-config ## web 서버 [root@wglee-web ~]# yum search all MariaDB-client [root@wglee-web ~]# yum install MariaDB-..
2022.09.05