- 리눅스 서버 보안업데이트로 서버 약 천대의 openssl 버전 업그레이드 작업

- 작업시간을 조금이라도 줄이고자 스크립트 작성

 

 

#!/bin/bash

#when excute on ubuntu

 

apt-get install -y gcc

apt-get install -y make make-guile

 

cd /usr/local/src

openssl version > report.out

op_version='openssl version |awk '{print $2}' | cut -c 1-5'

 

case "$op_version" in

 

1.0.2)

wget 10.230.9.30/openssl/openssl-"$op_verison"s.tar.gz

tar zxvf openssl-1.0.2s.tar.gz

cd /usr/local/src/openssl-1.0.2s

./config --prefix=/usr --openssldir=/usr/local/openssl

make && make install

;;

 

1.0.1)

wget 10.230.9.30/openssl/openssl-"$op_verison"s.tar.gz

tar zxvf openssl-1.0.2s.tar.gz

cd /usr/local/src/openssl-1.0.2s

./config --prefix=/usr --openssldir=/usr/local/openssl

make && make install

;;

 

1.1.0)

wget 10.230.9.30/openssl/openssl-"$op_verison"k.tar.gz

tar zxvf openssl-1.1.0k.tar.gz

cd /usr/local/src/openssl-1.1.0k

./config --prefix=/usr --openssldir=/usr/local/openssl

make && make install

;;

 

1.1.1)

wget 10.230.9.30/openssl/openssl-"$op_verison"c.tar.gz

tar zxvf openssl-1.1.1c.tar.gz

cd /usr/local/src/openssl-1.1.1c

./config --prefix=/usr --openssldir=/usr/local/openssl

make && make install

;;

 

*)

wget 10.230.9.30/openssl/openssl-1.1.1c.tar.gz

tar zxvf openssl-1.1.1c.tar.gz

cd /usr/local/src/openssl-1.1.1c

./config --prefix=/usr --openssldir=/usr/local/openssl

make && make install

exit

;;

esac

 

cd ../

openssl version >> report.out

cat report.out

 

 

'Linux Server > Script' 카테고리의 다른 글

[Script] java_tomcat 설치 및 apm 연동  (0) 2018.02.26
[Script] mysql 덤프  (0) 2018.02.26
[Script] 홈소스 백업  (0) 2018.02.26
[개발공부] 스크립트 작성  (0) 2017.10.17
[개발공부] php 개발  (0) 2016.12.14
Posted by 실력키우기

리눅스에서 필요에 따라 관리자 권한 설정이 필요하다.

계정별 또는 그룹별로 sudo 권한 설정이 가능하며, 해당 권한을 /etc/sudoers 파일에서 설정한다.

 

※ 테스트 환경 :  ubuntu 16.04 , centos6 (설정방법 동일)

 

/etc/sudoers 설정파일

 

1) 기본설정

root       ALL=(ALL)     ALL

 

2) les 계정에 sudo 권한설정

형식 : user명    ALL=(ALL)     ALL
내용 : les        ALL=(ALL)     ALL

 

3) les계정이 sudo 명령어 사용시 패스워드 묻지 않음.

형식 : user명   ALL=(ALL)     NOPASSWD: /sbin/shutdown
내용 : les       ALL=(ALL)     NOPASSWD: /sbin/shutdown

 

4) seok 계정이 sudo shutdown 명령어 사용시 패스워드 묻지 않음.

형식 : user명    ALL=(ALL)     NOPASSWD: ALL
내용 : seok      ALL=(ALL)     NOPASSWD: ALL

 

5) wheel 그룹에 속한 계정들은 sudo 사용가능

형식 : %그룹명  ALL=(ALL)      ALL
내용 : %wheel  ALL=(ALL)      ALL

 

6) wheel 그룹에 속한 계정들이 sudo 명령어 사용시 패스워드 묻지 않음.

형식 : %그룹명  ALL=(ALL)      NOPASSWD: ALL
내용 : %wheel  ALL=(ALL)      NOPASSWD: ALL

 

위처럼 내용 수정 후에 :wq! 로 저장해야 저장이 된다.

 

 

Posted by 실력키우기

리눅스에서 LVM 이란?

Logical Volume Manager 의 약자로 한글로 말하면 논리 볼륨 관리자 라고 할수 있는데, 물리적인 하나의 하드디스크를 논리적으로 쪼개서 사용할수도 있고, 여러개의 하드디스크를 논리적으로 합쳐서 하나로 보여지게도 가능하다.

 

한개의 물리적 디스크의 용량이 작던 시절에는 여러개의 디스크를 합쳐서 하나의 볼륨으로 사용하는 경우가 많았으나, 요새는 물리적 디스크의 용량이 크게 나오기때문에 기존에 사용중인 디스크의 용량을 확장시킨다거나 관리용으로 많이 사용되어 지는것 같다.

 

◆ 작업 Flow

[LVM처음 생성시]

1. 파티션 생성 -> 2. 피지컬볼륨 생성 -> 3. 볼륨그룹 생성 -> 4. 로지컬볼륨 생성 -> 5. 파일시스템 생성 -> 6. 마운트

 

 

1) 파티션 생성

명령어 : parted /dev/sdb
(parted) mklabel gpt
(parted) mkpart primary 0 100%
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? Ignore
(parted) set 1 lvm on
(parted) print
(parted) q

 

2) 피지컬볼륨 생성

형식 : pvcreate [피지컬볼륨경로]
명령어 : pvcreate /dev/sdb1

 

 

3) 볼륨그룹 생성

형식 : vgcreate [볼륨그룹이름] [피지컬볼륨선택]
명령어 : vgcreate test_vg /dev/sdb1

- 설명 : test_vg라는 볼륨그룹을 생성하며, 피지컬볼륨sdb1를 등록

 

 

4) 로지컬볼륨 생성

형식 : lvcreate -n [로지컬볼륨이름] -ㅣ [용량할당] [볼륨그룹이름]
명령어 : lvcreate -n test_lv -l 100%FREE test_vg

- 설명 : test_lv라는 볼륨을 생성하고, test_vg의 용량100%를 test_lv에 할당

 

 

5) 파일시스템 생성

형식 : [생성할 파일시스템] [로지컬볼륨경로]
명령어 : mkfs.xfs /dev/test_vg/test_lv

- 설명 : xfs파일시스템 생성

 

 

6) 마운트

형식 : [생성한 lv절대경로] [마운트할 디렉터리]
명령어 : mount /dev/test_vg/test_lv /test_lv

 

 

◆ 작업 Flow

[사용하던 LVM에 디스크 추가 및 LV용량 확장시]

1. 파티션 생성 -> 2. 피지컬볼륨 생성 -> 3. 기존 볼륨그룹에 추가 -> 4. 기존 로지컬볼륨에 용량 추가 -> 5. 적용

 

1) 파티션 생성

명령어 : parted /dev/sdc
(parted) mklabel gpt
(parted) mkpart primary 0 100%

Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? Ignore
(parted) set 1 lvm on
(parted) print
(parted) q

 

 

2) 피지컬볼륨 생성

형식 : pvcreate [피지컬볼륨경로]
명령어 : pvcreate /dev/sdc1

 

 

3) 기존 볼륨그룹에 추가

형식 : vgextend [볼륨그룹이름] [피지컬볼륨경로]
명령어 : vgextend test_vg /dev/sdc1

- 설명 : test_vg 볼륨그룹에 피지컬볼륨sdc1를 추가

 

 

4) 기존 로지컬볼륨에 용량 추가

형식 : lvextend [로지컬볼륨경로] -l [용량할당]
명령어 : lvextend /dev/test_vg/test_lv -l +100%FREE

- 설명 : test_vg의 남아있는 용량100%를 test_lv에 던져준다.

 

 

5) 확장된 용량 적용 (리사이징)

형식 : xfs_growfs [로지컬볼륨경로]
명령어 : xfs_growfs /dev/test_vg/test_lv

 

 

※  xfs_growfs 가 안될 경우 해결방법 (ex.문제볼륨 /dev/test_vg/test_lv)

작업 Flow

1. umount -> 2. 파일시스템 체크 -> 3. 마운트 -> 4. 리사이징

 

1) umount

명령어 : umount /test_lv

 

2) 파일시스템 체크

# fsck /dev/test_vg/test_lv

 

3) 마운트

# mount /dev/test_vg/test_lv /test_lv

 

4) 리사이징

# xfs_growfs /dev/test_vg/test_lv

 

※ 작업시 파일시스템 ext4와 xfs의 차이점은 리사이징 명령어가 다름.

Posted by 실력키우기

블로그 이미지
공 부 하 는 직 장 인
실력키우기

태그목록

공지사항

Yesterday
Today
Total

최근에 달린 댓글