728x90

/ 아이피 정보 확인
# ifconfig

> ether 블라블라 : 맥주소
> inet 블라블라 : 아이피
> eno : 인터페이스 이름

 

/ 8.8.4.4 : 구글 2차 주소

/ 특정 포트의 프로세스 검색
# netstat -ant | grep 22

/ 서비스 포트
> 잘 알려진 포트(Well known) : 1~1023, http 80, ftp 21, ssh 22, telnet 23, smtp 25, dns 53, dhcp 67, pop3 110
> 등록된 포트(Registered) : Oracle 1521, MsSQL 1433, MySQL 3306
> 동적포트(Dynamic) : 임의로 사용, 클 -> 서버
출발하는 쪽 포트와 도착하는 쪽 포트는 같을 수 없다.

/ 프로세스 검색 
# ps -ef | grep sshd

- 두번째 보이는 것은 검색하는 프로세스가 보이는 것이다.
- 이것이 보이지 않게 하려면 'ps -ef | grep sshd | grep -v grep'을 하면 된다.

 

/ 로그인한 계정이 가지고 있는 uid, gid, groups가 뭐냐
# id


- 내가 누구냐
# who am i, whoami

/ 커널을 확인하는 명령어 1(-a옵션을 쓰면 길게 나온다.)
# uname -r
# uname -a

 

/ 커널 버전 확인2
# cat /etc/*release*

 

/ 커널 버전 확인3
# cat /proc/version

 

/ /(최상위) 하위 디렉토리들

/ proc 디렉토리
- 구동되는 임시값들이 들어감

/ etc 디렉토리

/ bin 디렉토리
- 기본적인 명령파일을 가지고 있는 디렉토리

/ boot 디렉토리
- 리눅스가 부팅할때 기본적으로 로딩하는 정보를 (boot loader)가지고 있음

/  dev 디렉토리
- dvd롬, cd롬 정보를 가지고 있다.

/ home 디렉토리
- 일반 사용자들의 홈디렉토리가 들어가는 곳

/ lib 디렉토리
- 프로그램이 구동될때 참조하는 라이브러리들이 있음

/ mnt 디렉토리 (마운트의 줄임말)
- 마운트 정보들이 들어있음

/ root
- 관리자 정보가 들어감

/ run
- 계속 돌아가고 있을때의 로그가 쌓임

/ var
- 로그가 주로 쌓임
- 배리어스의 준말
- 이슈가 있을때의 로그만 쌓임

/ sbin
- 중요한 명령어들이 들어가 있는 곳이다.
- system bin

/ tmp
- 스티키 비트가 관련있다. 

 

/ 패키지 설치

- 설치 시 차이점
> rpm : 로컬에 파일이 있을 경우. rpm -ivh 파일이름.rpm
           이것저것 상세히 하나하나 다 설치해야 함
> yum : 인터넷에 파일이 있을 경우. 인터넷상의 장소(레포지토리)에서 설치파일을 끌어다가 설치, 레드햇, CentOS
           한큐에 다 지을 수 있음, 의존성 있는 파일들까지 쫙 끌어다가 설치해줌
           네트워크가 되어야 함. DNS, nslookup이 되어야 한다.
           yum lock : 알 수 없는 이유로 잠긴 것
           could not reserve host : 네트워크나 dns에 문제가 있을때
           no matching list : 인터넷 저장소에 설치하려는 패키지를 찾을 수 없을때

- httpd, nginx, tomcat
> 웹서버 구축
> 데몬, 프로세스, 서비스

- httpd가 설치되어 있는지 확인
# rpm -qa httpd
# rpm -qa | grep httpd


* rpm : 레드햇 패키지 모듈

- 패키지 설치 여부 확인
# rpm -qa 패키지이름

- 설정파일 찾기(config)
# rpm -qc 패키지이름

- 생성된 dir or 파일 목록(list)
# rpm -ql 패키지이름

- 설치된 정보(info)
# rpm -qi 패키지이름

 

# yum list httpd



# yum info httpd

 

# yum search httpd

 

# yum install httpd -y
- y옵션 : 무조건 yes로 설치함

 

- 또 설치하려고 하면 이렇게 나옴

 

# rpm -qi httpd

 

# yum -y remove(erase) httpd
- y옵션 : 무조건 지움

 

# !히스토리번호
- history 명령어 번호의 명령어를 재실행한다.

# !!
- 바로 앞전의 명령어를 다시 한다.

# rpm -qa httpd

# rpm -qa | grep httpd

- 버전정보
> httpd-2.4.6-97.el7
2 : 주버전
4 : 부버전
6 : 패치버전
-97 : 릴리즈 버전
.el7 : 

- netstat -ant | grep 80
> httpd를 설치하자 마자 이 명령어를 치면 아무것도 안나옴

- 시스템 시작 명령어
# service httpd start 가 systemctl start httpd로 바뀜(CentOS부터는 systemctl로 해야함. 어순 주의)


- 시스템 활성화
# systemctl enable httpd
- 서버가 켜지거나 꺼질때 또 실행을 시켜줘야해서 활성화를 시켜줌
- 자동으로 알아서 구동이 된다.

 

- 명령어를 연달아 두개 실행하기
> && 를 사이에 두고 다른 명령어를 적어주면 된다.
> 앞 명령어와 뒤의 명령어를 연결시켜 주는 역활이다.
> '&&' 앞 명령어가 실행성공이 되어야 뒤 명령어도 실행이 된다.

> ';' 으로 연결하면 둘중에 하나가 실패해도 실행된다.

 

# ps -ef | grep httpd
- 부모 프로세스 하위로 자식프로세스들이 생긴다.

# ls -l /proc/7854/exe
- httpd의 프로세스들이 proc 디렉토리 하위에 존재하고 있다.

 

# ps -ef | grep httpd | grep -v grep

 

- 네트워크의 상태 조회
# netstat -antup | grep httpd
> a : 
> n : 
> t : 
> u : 
> p : 

 

- 127.0.0.1 : 루프백 아이피

- 외부에서 접근하게 하려면 방화벽을 열어주어야 한다.

 

/ 방화벽 설정

- 방화벽 확인
# systemctl status firewalld
- 데몬으로 돌아가는 애들은 이름뒤에 'd'가 붙는다.

* 이름뒤에 d가 붙는 애들 -> net-snmp : snmpd / bind : named
* 설치할때 이름이랑 데몬이름이 달라서 헷갈릴 수 있지만 자주 쓰이는 애들이라 걱정 ㄴㄴ하다.

- 방화벽 설정
# firewall-config (GNOME Desktop에서 창을 띄우기)
- 설정 부분 : 런타임 -> 영구적 : 영구적으로 설정해야 킬때마다 켜짐.
- 왼쪽의 public > 서비스탭의 http 체크
- 옵션 > Firewalld 불러오기 클릭 후 닫기 : 영구적으로 했기때문에 저장이 된다.

 

- 방화벽 설정된 내용 확인하기
# firewall-cmd --list-all

> 이제 외부에서도 접근할 수 있게 되었다.

 

/ 윈도우에서 tcping 테스트 하기
- 특정 아이피의 포트가 나에게 열려있는지 확인한다.
> '다운로드 링크'에서 'tcping.exe'파일을 다운받고 'C:\Windows\System32'경로에 위치시킨다.
* 계속 하겠냐고 물어보면 계속 하겠다고 클릭하기

- cmd창에서 테스트를 해본다.
# tcping 아이피 포트

 

/ 세션정보가 끊어지는것 확인
# netstat -ant | grep 80

 

/ 로그확인
- 위치 및 파일 : /var/log/httpd/access_log
# cd /var/log/httpd/
# cat -n access_log : 전체 내용을 확인하기
# tail -f access_log : 파일의 최신내용을 계속 업데이트 해서 보기. 끝의 10줄을 계속 업데이트 해서 보여줌



/ 명령어로 방화벽 설정

# firewall-cmd --permanent --add-port=80/tcp
# firewall-cmd --permanent --add-service=http
- --permanent 옵션 : 영구적인

- 방화벽 설정하고 저장하기
# firewall-cmd --reload

- 영구적 저장(껏다 켜도 다시 실행되게 하려면)permanent옵션을 꼭 하고 reload를 하기
- 껏다 켰을때마다 다시 키게 하려면 permanent/reload를 안해도 됨

 

# firewall-cmd --list-all
- ports에 값이 들어간것을 확인할 수 있다.

 

# cat /etc/services | grep ssh
- 포트와 서비스 이름을 찾기
- /etc/services이 위치와 파일이름이 시험에 자주 나온다 함

 

# rpm -qc httpd
- 서비스의 설정파일이 설치된 위치 확인

# rpm -ql httpd
- 설치하면서 생긴 디렉토리랑 파일 확인
- 이중 /var/www/html이 웹 페이지가 보여지는 파일이 위치하는 곳이다.

 

/ 웹페이지에 보여지는 파일을 수정 후 반영하기

 

/ 프로세스 동작방식
- Standalone 방식 : 혼자 늘 항상 대기, 웹 서비스 등. 늘 떠있느라 자원을 소모한다.
- 슈퍼데몬(Xinetd) : 호출하면 실행, 프로세스. 늘 대기하지 않는다. 퍼포먼스 차원에서는 슈퍼데몬이 좋다.
- 두개의 차이는 리마 시험에 종종 나온다.

=======================================

/ 복습 (뭐 뭐 있었나 써보기)
- 서버 리부팅 : 
- 시스템종료 :
> showdown -h now = shutdown -P 는 같다.
> poweroff [옵션] 이라는 것으로 종료할 수도 있다.
> systemctl halt
> systemctl poweroff

/ 런레벨
- init 0 : 시스템 종료
- init 1 : 싱글모드, 복구모드(console모드)
- init 2 : 멀티유저모드, NFS X
- init 3 : 완전 멀티유저모드 -> cli 모드, NFS ok
- init 4 : 사용x
- init 5 : xWindows 지원, 완전 멀티유저모드
- init 6 : 시스템 리부팅

/ 프로세스 죽이기
# kill -l 
- SIGINT : 인터럽트, 실행중지 CTRL+C
- SIGHUP : hangup, 대기시켰다가 재시작
- SIGQUIT : 키보드를 사용한 종료 CTRL+\
- (중요)SIGKILL : 무조건 프로세스를 강제 종료. kill -9 pid
- SIGTERM : kill -15 pid. 저장한거 다 저장하고 정상적인 종료를 시킴. 킬 -9랑 -15를 많이 비교함
- SIGCONT : continue. STOP된것을 다시 실행
- SIGSTOP : 무조건 정지. 즉각 정지. 9는 종료지만 이것은 정지이다. 19
- SIGTSTP : CTRL+Z. 실행을 정지했다가 다시 실행시키기 위해서 대기시키는 신호

 

728x90

'정보보안학원 > 과정평가형 일지' 카테고리의 다른 글

11일차 - 시스템  (0) 2022.04.28
10일차 - 네트워크  (0) 2022.04.27
8일차 - 네트워크  (0) 2022.04.25
7일차 - 네트워크  (0) 2022.04.22
6일차  (0) 2022.04.21

+ Recent posts