2019. 11. 28. 11:40ㆍSecurity/리눅스
* CRON
- 리눅스의 반복 작업을 예약할 수 있는 프로그램.
- 윈도우의 스케줄러와 유사.
Crontab 명령을 이용한 스케줄 정의
형식 : crontab [옵션]
-e : 스케줄 등록(vi 환경)
- l : 스케줄 확인(출력)
- r : 스케줄 삭제(거의 사용하지 않음)
명령어 형식
[분(0~59)] [시(0~23)] [일(1~31)] [월(1~12)] [요일(0(일)~6)(토)] [작업내용]
[#-#] : 실행할 시간 범위를 지정
[#-#/#] : 범위내에서 실행 간격 지정
00
9-18/2
1-15/3
1-12/4
1-5
ex)
00 0-23 * * * rdate -s time.bora.net : 매시간마다 실행
0-59/10 * * * * chown -R data.st /home/data : 0에서 59분까지 10분마다 실행
0-59/10 * * * * chmod -R 775 /home/data : 0에서 59분까지 10분마다 실행
* RSYNC
- 두 시스템간 지정한 디렉토리를 동기화
RSYNC 데몬 구동
데몬구동 하는 방법은 standalone과 xinetd이 있다.
standalone : 해당 서버를 메모리에 미리 올려놓는 방식. 여기서는 standalone을 사용.
xinetd : 해당 서버가 필요할때만 메모리에 올렸다가 내렸다가 함. 필요할때만 사용하는 방식이라 가용성이 떨어짐.
rsync 명령 옵션
형식 : rsync -avz [--delete] source destination
rsunc -avz [--delete] IP::[서비스명] [백업 디렉토리]
rsunc -avz [--delete] [백업 디렉토리] IP::[서비스명]
-v : 작업내역 출력
-a : archive mode 작업. 심볼릭 링크, 권한등의 모든 내용을 보존
-z : 파일을 압축 전송
--delete : source에서 지워진 파일을 destination에서도 지워준다.(완전 동기화 옵션)
ex) rsync -avz /home/httpd/ /backup/httpd/ : 로컬 시스템 내에 동기화
rsync 관련파일
- /usr/bin/rsync : 데몬
- /usr/lib/systemd/system/rsyncd.service : 백업 설정 파일
- /etc/rsyncd.conf : 백업 설정 파일
[서비스명] : client에서 이용하는 리소스 식별자
path : 백업 경로
comment : 주석
uid : 전송자 uid
gid : 전송자 gid
use chroot : rsync 경로를 외부에서 /로 인식
read only : 읽기 전용으로 접근
hosts allow : 접속 허용할 호스트(클라이언트만 지정)
max connections : 동시 접속자 수
timeout : 접속 유지시간
[실습]
yum list rsync : rsync 설치 확인
systemctl start rsyncd.service : rsync 데몬 실행
systemctl status rsyncd.service : rsync 데몬 상태 확인
[backup] : client에서 이용하는 리소스 식별자
/backup/ : 백업 경로
root : 전송자 uid
root : 전송자 gid
use chroot : rsync 경로를 외부에서 /로 인식
read only : 읽기 전용으로 접근
192.168.10.188 : 접속 허용할 호스트(클라이언트만 지정)
1 : 동시 접속자 수
300 : 접속 유지시간
conf 변경 후에는 항상 restart 해주어야 한다.
rsync -avz 192.168.10.187::backup /backup/
// 192.168.10.187의 backup 서비스를 /backup/에 백업.
00 01 * * * rsync -avz 192.168.10.187::backup /backup/
// 매일 새벽 1시에 192.168.10.187의 backup 서비스를 /backup/에 백업.
* 서비스와 데몬
- 사용자의 요구 시점이 아닌 임의의 시점에서 background 프로세스로 시작되어 사용자나 프로세스에 서비스를 제공하는 프로그램.
- 현재는 대부분 standalone 방식 사용.
stand alone
- 스스로 listen하며 항상 메모리에 상주
- 요청에 즉시 대응 가능.
super daemon
- 서비스 요청이 있을시에 xinetd에 의해 호출
- 점점 사라지는 추세
systemctl list-unit-files : 모든 서비스의 상태 확인
systemctl [is-enabled] [서비스명] : 자동 실행 등록 여부
systemctl [is-active] [서비스명] : 현재 실행 여부
systemctl [enable] [서비스명] : 서비스 등록
systemctl [disable] [서비스명] : 서비스 등록 해제
systemctl [start | restart | stop] [서비스명] : 서비스의 실행, 재실행, 종료
Target
- init의 run level과 동일한 개념
- run level보다는 다양한 모드를 제공.
systemctl list-units --type target --all : 제공되는 target 확인
systemctl set-default [타켓] : 기본 타켓을 변경
#systemctl get-default
// 시스템의 기본 타겟 확인(CentOS 7 이전버전에서는 /etc/inittab/ 파일에 설정)
#systemctl set-default multi-user.target : multi-user로 기본 target을 변경
재부팅하면 기본 타겟이 변경된 것을 확인할 수 있음.
systemctl [rescue | emergency] : 시스템 관리나 장비 손상등으로 인한 타겟 변경
rescue : rescue.target
emergency : emergency.target(응급 복구 모드)
* 용어 및 개념 정리
보안의 3요소가 위협받는 경우
무결성 : 잘못된 정보가 저장되는 것.
가용성 : 원하는 사용시간대에 사용하지 못하는 것.
기밀성 : 권한이 없는 사람이 정보를 보게 됨.
백업에 관해 : 이상유무를 확인하지않고 백업한다면 무결성의 문제가 생길 수 있기때문에 반드시 데이터의 이상 유무를 확인하고 백업을 시도해야하기때문에 일정 정도는 사람이 반드시 개입해야 함. 백업을 사용하는 이유는 가용성의 문제에 대응하기 위해서 사용.
복구(recovery)와 복원(restore)
복구(recovery) : 손상됐거나 손실된 데이터를 되살리는 작업
복원(restore) : 사용자의 의도에 따라서 데이터의 전부 또는 일부를 되돌리는 작업
'Security > 리눅스' 카테고리의 다른 글
Day 11-DNS 서버 (0) | 2019.12.03 |
---|---|
Day 10-FTP (0) | 2019.11.29 |
Day 8-리눅스 프로세스 및 RPM&YUM (0) | 2019.11.27 |
Day 7-IP alias, 리눅스 파일시스템 (0) | 2019.11.26 |
Day 6-파일 구조와 퍼미션, 리눅스 네트워크 설정, 네트워크 명령어 (0) | 2019.11.25 |