✨ Linux(32)
-
[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 -
fallocate 명령어로 만든 파일의 mkswap 불가 현상 (sparse file)
Intro fallocate 명령어로 생성한 파일을 swap 영역으로 사용하려 했는데 swapon을 할 때 다음과 같은 에러가 발생했다. swapon: /root/swapfile: swapon failed: Invalid argument [root@server-1-lab ~]# fallocate -l 200MiB /root/swapfile [root@server-1-lab ~]# ls -lh | grep swap -rw-r--r--. 1 root root 200M Aug 28 19:04 swapfile [root@server-1-lab ~]# chmod 600 swapfile [root@server-1-lab ~]# mkswap /root/swapfile Setting up swapspace versio..
2022.08.28 -
[LVM] lvextend 로 logical volume 확장하기
Intro LVM의 LV(logical volume)을 이용할 때의 장점 중 하나로, 시스템 중단 없이 파일 시스템을 확장할 수 있다. VG(Volume Group)의 리소스로 LV를 유연하게 확장 시킨 다음에 LV에 마운트 된 파일 시스템에 바로 확장된 용량을 적용할 수 있다. lvextend examples 1vextend -1 50 : lv의 크기를 정확히 50개 의 LE로 조정. lvextend -l +50 : 현 lv에 50개의 LE를 추가 lvextend -L 100M : 현 lv의 총 용량을 딱 100M로 resize. lvextend -L +100M : lv에 100MiB 를 추가 lvextend -l +50%FREE : vg에 FREE로 남아있는 영역의 50% 만큼 확장한다. FileSy..
2022.08.28 -
로컬 yum 레포지터리 만들기! (reposync, yumdownloader, createrepo)
Intro 오늘은 createrepo 명령어로 local yum repo를 한번 생성해 보겠다. 원격 서버에서도 로컬 yum 레포지터리에 http url로 접근할 수 있도록 설정해 본다. 로컬 repository 생성 repo로 사용할 디렉터리를 생성한다. [root@server-1-lab ~]# mkdir /wgleeyumrepo repo 디렉터리에 레포지터리에서 관리할 rpm 파일들을 위치 시킨다. 나는 두가지 방법으로 rpm 파일을 다운 받았다. 1번은 개인 학습용으로 해 본 것으로, 만약 실제로 특정 mirror에서 다수의 패키지를 다운받아서 로컬에서 관리하고자 함이라면 2번에 해당하는 reposync 방법이 제일 활용도 높을 것이다. (1) 14-.2.0 버전의 ceph 패키지를 mirror에서..
2022.08.28