728x90
반응형
passwd파일에서 root가 들어간 라인만 찾음
- cat /etc/passwd |grep root
- grep root /etc/passwd (같은 결과)
- grep은 현대 디렉토리 대상, find는 전체에서 찾음
패스워드가 비어있는 사용자 도출
- awk -F: '{if ($2=="!!") print $1}' /etc/shadow
- cat /etc/shadow | awk -F: '{if ($2=="!!") print $1}'
- pw는 2번째 자리에 있으며, 없으면 !!으로 채워져있다.
7일 동안 변경된 파일 카운트
- find / -ctime -7 | wc
사용자가 없는 파일 찾기
- find -nouser | wc
- 소유자가 없는 파일의 소유자 id와 일치하는 계정이 있으면 해당 계정의 파일이 된다. (/etc/passwd 에서 사용자 id 변경 가능)
해당 디렉토리에서 소유자가 root인 파일 찾기
- find /home/inhatc -user root
setuid에 root권한이 있는 사용자의 파일 찾기
- find / -user root -perm -4000
#tar (여러 개의 파일을 하나의 파일로 묶거나 풀 때 사용하는 명령) 압축(cvf) : tar cvf test.tar FILE1 FILE2 풀기(xvf) : tar xvf test.tar 보기(tvf) : tar tvf test.tar
FileSystem 백업 (home)
- tar -zcvf inhatc_20230509.tar.gz inhatc
- tar -zxvf inhatc_20230509.tar.gz
백업 디렉토리
- /home/backup
DataBase 백업 (sakila)
- mysqldump -u root -p sakila > sakila_20230509.sql (복구)
- mysql -u root -p < sakila_20230509.sql
- create database sakila use sakila 두 줄을 .sql파일 안에 삽입해줘야 한다.)
<aside> 💡 과제
</aside>
- shell 선언
- backup (inhatc)
- backup (DB_sakila)
- /home/inhatc/backup/* 안에 백업 cron 스케줄러 사용 backup.sh 쉘 파일 작성 백업tar파일명은 뒤에 date 붙여야 중복안됨 매일 새벽 4시에 백업시킴 3일간 보관하고 삭제
shell파일 생성 (shell_backup.sh)
#!/bin/bash
# 현재 날짜 포맷
nowDate=$(date +"%Y%m%d")
# 백업 파일명
backup_Home="backup_Home_$nowDate.tar.gz"
backup_DB="backup_DB_$nowDate.sql"
# 패스워드 세팅
mysql_pw="robot86676800"
# File 백업 (inhatc)
tar -zcvf "/home/inhatc/backup/$backup_Home" "/home/inhatc"
# DB 백업 (sakila)
mysqldump -u root -p"$mysql_pw" sakila > /home/inhatc/backup/$backup_DB
# 3일 이상 지난 백업 파일 삭제
find "/home/inhatc/backup" -type f -name "backup_*" -mtime +3 -exec rm {} \\;
실행 예약
$ crontab -e
0 4 * * * /bin/bash /home/inhatc/shell_backup.sh
728x90
반응형
'🌐OS > Linux' 카테고리의 다른 글
[Linux & Postgres] TestServer DB 자동으로 Patch하기 (0) | 2024.05.25 |
---|---|
[Linux] 모니터링 (0) | 2023.08.27 |
[Linux] Shell 프로그램 (0) | 2023.08.27 |
[Linux] Cron 스케줄러 (0) | 2023.08.27 |
[Linux] FTP 접속 (0) | 2023.08.27 |