15. 쉘의 특성
1) 리다이렉션
2) 파이프
3) 쉘 자체의 기능
4) 변수
5) 메타 캐릭터
6) 히스토리
7) 엘리어스
8) 환경 파일
* TERM
# export TERM=vt100
* LANG($HOME/.bashrc)
# export LANG=ko_KR.UTF-8
* PATH($HOME/.bash_profile)
# export PATH=$PATH:/root/bin
* HISTTIMEFORMAT(/etc/profile)
# export HISTTIMEFORMAT="%F %T "
* HOME, PWD, LOGNAME, USER, UID
메타 캐릭터(Shell Metacharacter)
'' "" `` \ ;
명령어 히스토리(Command History)
HISTFILE=512
HISTFILE=$HOME/.bash_history
HISTFILESIZE=512
HISTTIMEFORMAT="%F %T "
엘리어스(Alilas)
# alias cp='cp -i'
# alias
# unalias cp
환경 파일(Environment File(s))
/etc/profile
$HOME/.bash_profile
$HOME/.bashrc
16. 프로세스 관리
프로세스 정보(/proc/PID/*)
PID, PPID, Control Terminal
프로세스 관리1
프로세스 실행
fg) # ls
bg) # ls &
bash# gedit
-----------+ +----->
| |
| |
| |
+----> gedit +-+
-----------+----------->
|
|
|
+----> gedit
[실무예] gedit & : 백그라운드로 프로세스를 실행하는 경우
* 시간이 오래 걸리는 프로그램 실행시(EX: /root/bin/backup.sh &)
* GUI 환경을 사용하는 프로그램(EX: nm-connection-editor &)
프로세스 확인
# ps aux | grep rsyslogd
# ps -ef | grep rsyslogd
프로세스 종료
# kill -1|-2|-9|-15 PID
[참고] killall CMD, pkill CMD
# kill PID PID
# killall httpd
# pkill httpd
프로세스 관리2(잡(Job) 관리)
잡 실행
fg) # ls
bg) # ls &
잡 확인
# jobs
# fg %1
# bg %1
<CTRL + Z>
잡 종료
# kill %1
프로세스 모니터링
top - 17:51:27 up 1 day, 8 min, 4 users, load average: 0.12, 0.16, 0.10
Tasks: 2 total, 0 running, 2 sleeping, 0 stopped, 0 zombie
Cpu(s): 7.4%us, 1.5%sy, 0.0%ni, 90.9%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st
Mem: 515340k total, 500336k used, 15004k free, 63108k buffers
Swap: 1052248k total, 0k used, 1052248k free, 255872k cached
# top
# top -u user01
1) 정열기능: cPu, Mem
2) 첫번째 줄:
* uptime 출력 내용: 최소 300일에 한번씩은 서버를 재부팅한다.
* 1분/5분/15분 부하측정치 (나누기) CPU 개수/Core 개수 >= 1
= 0.05 (나누기) 4 >= 1
3) 두번째 줄:
* 좀비 프로세스 검색 방법
# ps -elf | awk '$2 == "Z" {print $0}'
# kill -9 PID
4) 세번째 줄:
* %us(usr), %sy(sys), %id(idle), %wa(wait)
%us + %sy >= 80% (그럼 CPU 증설 고려)
5) 네번째/다섯번 줄:
* total/free
[실무 예] 서버 리소스 모니터링 툴 - CPU/MEM/DISK/NET
* CPU/MEM : top/(X)htop
* DISK : iotop
* Network : (X)ntop
lsof CMD
# lsof
# lsof /tmp
# lsof -c sshd
# lsof -i
pmap CMD
# pmap PID
pstree CMD
# pstree
# pstree -alup PID
nice/renice CMD
# nice -(-20~19) CMD
# renice (-20~20) PID
[실무예] 백업 스크립트/데이터 수집 스크립트 실행시
# nice -10 /root/bin/backup.sh &
[실무예] CPU 많이 점유하는 프로세스가 존재하는 경우
# renice 10 PID
17. 원격접속 & 파일전송
sCMD(ssh, scp, sftp)
ssh CMD
# ssh IP
# ssh IP CMD
scp CMD
# scp source destination
# scp [-r] file1 172.16.6.249:/test
# scp [-r] 172.16.6.249:/test/file1 /test
sftp CMD
[실무예] public key authentication
ServerA --> ServerB
# ssh-keygen -t rsa
# ssh-copy-id -i ~/.ssh/id_rsa.pub root@ServerB
# ssh ServerB
FTP(vsftpd) 관련 패키지 설치
# yum install ftp vsftpd
# systemctl start vsftpd
[Q&A] HISTTIMEFORMAT 변수에 대해서
-------------------------------------------------------------------
HISTTIMEFORMAT 변수를 /etc/profile에 정의하는 경우
* /etc/profile 파일은 모든 사용자가 로그인할 때 읽혀지는(실행되는) 내용을 담고 있다.
* 따라서, 변수를 /etc/profile에 정의한 경우 새로 로그인하여 변경된 내용을 적용한다.
* 변수를 /etc/profile 정의한 후 바로 확인할 수도 있는데, 이런 경우에는 다음과 같은 형식을 사용한다.
. /etc/profile (source /etc/profile)
'정보보안공부 > 정보보안전문과정' 카테고리의 다른 글
모의해킹 침해대응 정보보안 전문가 양성과정 Day8 (0) | 2020.09.11 |
---|---|
모의해킹 침해대응 정보보안 전문가 양성과정 Day7 (0) | 2020.09.11 |
모의해킹 침해대응 정보보안 전문가 양성과정 Day5 (0) | 2020.09.08 |
모의해킹 침해대응 정보보안 전문가 양성과정 day4 (0) | 2020.08.28 |
모의해킹 침해대응 정보보안 전문가 양성과정 Day3 (0) | 2020.08.27 |