이기적 최신 기출문제 03회 오답노트
1과목
1
관련 라이선스가 적용된 소스코드를 수정하여 만든 2차적 저작물에 대해 소스코드의 비공개가 가능한 라이선스
BSD, Apache License, MIT
[오답]
소스코드와 실행 파일의 저작권이 분리된 라이선스
MPL
- MPL 라이선스의 소스코드를 수정한 경우 수정한 소스코드를 MPL로 공개하고 원저작자에게 수정한 부분을 알려야 한다.
- 실행 파일은 독점 라이선스로 배포 가능하며, MPL과 무관하게 작성된 소스코드는 공개하지 않아도 된다.
2
하드디스크 공간의 효율성을 높여준 운영체제 관련 기술
라이브러리
- 라이브러리 : 공통으로 사용하는 기능을 별도의 모듈로 만들어 사용하므로 중복을 최소화함
[오답]
물리적 메모리의 용량 한계를 극복하기 위해 가상의 메모리를 할당한 후, 이를 실제 물리 메모리의 주소와 매핑하여 사용하는 방식이다. 프로그램은 가상 메모리 기법을 이용하여 고유의 메모리 공간에서 독립적으로 실행될 수 있다.
가상 메모리(Virtual Memory)
가상의 모니터라고 할 수 있으며, 사용자마다 별도의 콘솔을 제공한다.
가상 콘솔(Virtual Console)
명령어 실행 결과를 다음 실행할 명령으로 전달할 때 사용하는 기능이다. 또는 프로세스 간 데이터를 주고 받기 위해 사용하는 IPC(Inter Process Call) 기법 중 하나이다.
파이프(Pipe)
3
레드햇 계열에 속하는 리눅스 배포판
CentOS, Scientific Linux, Oracle Linux
[오답]
슬렉웨어(Slackware) 계열에 속하는 리눅스 운영체제
Vector Linux
4
특정 프로세스의 입력이나 출력을 표준 입출력이 아닌 다른 입출력으로 변경할 때 사용하는 리눅스의 기술적 특징
리다이렉션(redirection)
[오답]
명령어 실행 결과를 다음 실행할 명령어로 전달할 때 사용하는 기능
파이프(Pipe)
보조기억장치(ex. 하드디스크)의 일부를 주기억장치(ex. 메모리)의 확장에 사용하는 가상 메모리 시스템에서 주기억장치와 보조기억장치의 메모리 영역을 교체하는 관리 기법
스와핑(Swapping)
가상의 모니터라고 할 수 있으며, 사용자마다 별도의 콘솔을 제공
가상 콘솔(Virtual Console)
5
리눅스를 활용해서 고성능의 계산 능력이 제공되도록 시스템을 구성하는 방식
High Performance Computing Cluster
고성능 처리를 위해 사용하는 컴퓨팅 방식
클러스터(Cluster)
이러한 고성능 계산에 가장 알맞는 것
High Performance Computing Cluster
[오답]
특수 목적을 위해 개발된 전용 시스템
Embedded System
6
**[root@localhost ~] # cat example
#!/bin/bash
var=0
cnt=$0
while [ "$var" -le (①) ]
do
var=`expr $var + 1`
done
echo $var
[root@localhost ~] # ./example
(②)**
정답
① ${#cnt} ② 10
- example 스크립트는 while 문의 동작에 의해 스크립트의 전체 경로명의 문자열 길이보다 1이 더 큰 값을 화면에 출력하게 된다.
- $# : 스크립트에 전달되는 인자들의 개수를 담고 있다.
- $0 : 실행한 스크립트의 전체 경로명을 담고 있다.
- $1, $2 : 스크립트에 전달된 인자값을 순서대로 담는다.
- ${#문자열변수}는 문자열변수에 저장된 문자열의 길이를 반환하고, expr은 이후에 오는 수식을 계산한다.
- ./example의 길이는 9이기 때문에 9 + 1 = 10이 반환된다.
- example 스크립트는 while 문의 동작에 의해 스크립트의 전체 경로명의 문자열 길이보다 1이 더 큰 값을 화면에 출력하게 된다.
7
데몬 관련 유틸리티
텍스트 환경에서 커서를 이용하여 부팅 중 자동으로 실행되는 서비스를 설정할 수 있는 유틸리티이다. 옵션을 이용하여 특정 실행 레벨의 서비스 데몬을 설정할 수 있다.
ntsysv
리눅스 서비스의 시작, 재시작, 정지 등을 제어하는 명령어로 레드햇 계열 7 이후에 기본 명령으로 사용한다.
systemctl
런레벨(Run level) 별 서비스의 동작 방식을 설정하고 조회하는 명령어
chkconfig
리눅스 서비스의 시작, 정지, 재시작 등을 제어하는 명령어로 레드햇 계열 7 이전 기본 명령어로 사용되었다.
service
[참고] 특정 실행 레벨의 서비스 데몬을 설정하기 위해 사용하는 명령어
systemctl의 isolate 또는 set-default 옵션
8
**# which passwd
/usr/bin/passwd
# ls -l /usr/bin/passwd
-rwsr-xr-x. 1 root root 30768 2018-07-01 20:48 /usr/bin/passwd**
두 명령어를 실행한 것과 동일한 결과를 한 번의 명령으로 실행하고자 하면?
ls -l $(which passwd)
$(명령어)
의 형식을 이용하여 리눅스 명령어의 표준 출력을 변수처럼 사용할 수 있다.
[오답]
- 명령어(1) && 명령어(2) : 명령어(1)의 결과가 참인 경우 명령어(2)를 실행
- 명령어 grep 문자열 : 명령어의 표준 출력 내용에서 문자열을 검색하여 일치한 경우만 찾는다.
9
X 윈도우
- 디스플레이 장치에 의존적이지 않고 서로 다른 이 기종을 함께 사용 가능
- 서버와 클라이언트가 독립적으로 동작하는 네트워크 지향 시스템
- 윈도 매니저는 X 윈도우 환경에서 윈도의 배치와 표현을 담당하는 시스템 소프트웨어
- [오답] 현재 리눅스를 비롯하여 유닉스 대부분이
XFree86기반의 X 윈도우 시스템을 사용하고 있다. → 라이선스 논란으로 인해 최근 리눅스는 X.Org 서버 시스템을 이용하는 추세
10
/etc/rc.d/rc.local 파일
실행 레벨 2, 3, 5에서 가장 마지막에 실행되는 파일
- 데몬과 같이 서버 부팅시마다 자동으로 실행되어야 하는 명령어는 /etc/rc.d/rc.local에 기록하며, 부팅 시 가장 나중에 실행된다.
리눅스 실행 레벨
실행 레벨 설명 0 시스템 종료 모드로 init 0 명령어를 이용하여 시스템 종료 1 싱글(관리) 모드로 원격 로그인이 불가능하고 root 계정만 사용 가능 2 멀티유저 모드로 NFS(Network File System)를 지원 불가 3 멀티유저 모드로 NFS를 지원 4 사용자 지정 레벨로 일반적으로 사용하지 않음 5 X 윈도우 환경의 멀티유저 모드 6 재부팅 모드
11
RAID-0의 단점인 결합 허용을 지원하지 않는 점과 RAID-1의 저장 공간의 비효율성을 보완한 레벨로 디스크의 개수를 늘릴수록 저장공간의 효율성이 좋아진다.
RAID-5
2개의 패리티를 사용하여 2개의 디스크 오류에도 데이터를 읽을 수 있고 최소 4개의 디스크로 구성해야 한다.
RAID-6
RAID : 여러 개의 저장 장치를 묶어 사용하여 고용량, 고성능 저장 장치의 효과를 제공하는 기술
주요 구성 방식
구성방식 설명 RAID-0 스트라이프(Stripe) 모드로 데이터를 저장 장치에 나누어 기록 RAID-1 미러링(Mirroring) 모드로 데이터를 저장 장치에 중복하여 기록 RAID-2 해밍코드(Hamming Code)를 이용하여 오류를 점검 RAID-3 바이트 단위의 패리티를 이용하여 오류를 점검 RAID-4 블록 단위의 패리티를 이용하여 오류를 점검 RAID-5 - 순환식 패리티 어레이를 포함하며 3개 이상의 디스크 어레이가 필요
- N개의 디스크를 RAID-5 형식으로 구성할 경우 실제 사용 가능한 용량은 (N-1)개의 디스크 크기와 같음RAID-6 - 2차 패리티 정보를 분산 저장하여 2개의 저장 장치에 문제가 발생한 경우에도 복구 가능
- N개의 디스크를 RAID-6 형식으로 구성할 경우 실제 사용 가능한 용량은 (N-2)개의 디스크 크기와 같음
12
프로세스
- 실행 중인 프로그램
- PCB(Process Control Block)를 지닌 프로그램
- 백그라운드 프로세스와 포어그라운드 프로세스로 나눌 수 있다.
[오답] 사용자가 실행한 프로세스는
중간에 중지시킬 수 없다.→ kill 명령어를 이용하여 프로세스 종료 가능- PCB : PID(Process ID), 프로세스 상태, PC(Program Counter), 레지스터 정보 등 프로세스 실행에 필요한 정보를 저장하고 관리한다.
- 백그라운드 프로세스 : 사용자와 상호작용 없이 실행되는 프로세스
- 포어그라운드 프로세스 : 터미널을 이용하여 사용자와 상호작용하는 프로세스
13
X 윈도우를 실행시키는 스크립트로 시스템 환경을 초기화시키고 시작하는데 필요한 여러 프로그램을 호출하고, 최종적으로 xinit을 호출하는 명령어
startx
[오답]
리눅스 운영체제의 부팅 과정 중 최초로 실행되는 프로세스
init
K Desktop Environment의 약자로 기능성에 중심을 둔 그래픽 데스크톱 환경
kde
최대한 단순하며 쉬운 환경을 제공하는 것을 목표로 하는 그래픽 데스크톱 환경
gnome
14
리눅스
- 최근 리눅스 운영체제는 SSD(Solid State Drive)를 지원한다.
- 리눅스는 이더넷 등 대부분의 네트워크 인터페이스를 지원한다.
- 대부분 리눅스 배포판에서는 인텔사의 x86 계열 CPU를 기본적으로 지원한다.
- [오답] 최근 64비트 리눅스 운영체제는 물리적 메모리 용량을
16GB까지 지원한다. → 64TB- 32비트 리눅스 운영체제는 최대 16GB까지 물리적 메모리를 지원한다.
- 64비트 리눅스는 레드햇 계열 6 버전을 기준으로 최대 64TB를 사용할 수 있다.
15
시그널(Signal)
키보드로부터 오는 인터럽트 시그널로 실행을 중지시키는 명령어
SIGINT
시그널 번호 시그널 이름 설명 1 SIGHUP - 터미널의 접속 연결이 끊어질 때 보내는 시그널 - 로그아웃 혹은 모뎀 접속을 끊는다. 2 SIGINT Ctrl + C
를 입력하면 발생하며, 프로세스를 종료한다.3 SIGQUIT Ctrl + Q
를 입력하면 발생하며, 코어 덤프와 함께 프로세스를 종료한다.9 SIGKILL 프로세스를 즉시 종료시킨다. 15 SIGTERM 소프트웨어 종료 시그널로 트래킹이 가능하다. 18 SIGCONT SIGSTOP, SIGTSTP에 의해 정지된 프로세스를 다시 실행한다. 19 SIGSTOP 정지 시그널로 프로세스를 무조건 정지한다. 20 SIGTSTP - Ctrl + Z
를 입하면 발생하며, 프로세스의 실행을 정지시킨 후 다시 실행하기 위해 대기한다. - 트래킹이 가능하다.
16
OSI 7계층의 하위 계층부터 상위 게층 순으로 사용하는 전송 단위 나열
bit - frame - packet - segment - data
OSI 7 Layer : 컴퓨터 네트워크의 프로토콜 디자인과 통신 방식을 계층으로 나누어 제시한 표준 모델
계층 설명 Layer 7 - 응용 계층으로 메시지 단위로 데이터를 전송함 - 응용 프로세스 간 정보 교환을 담당
- HTTP, FTP 등의 프로토콜이 포함됨Layer 6 - 표현 계층으로 코드 변환, 데이터 압축 등의 기능을 담당
- JPG, MESG 등의 프로토콜이 포함됨Layer 5 - 세션 계층으로 양 끝 단의 프로세스가 통신할 수 있도록 연결 담당
- NetBIOS, SSH 등의 프로토콜이 포함됨Layer 4 - 전송 계층으로 종단 간 데이터 전송을 위한 제어와 에러 관리
- TCP는 세그먼트, UDP는 데이터그램 단위로 데이터를 전송
- TCP, UDP 등의 프로토콜과 게이트웨이 장비가 포함됨Layer 3 - 네트워크 계층으로 패킷 단위로 데이터 전송
- 한 호스트에서 다른 호스트로 패킷을 라우팅
- IP 등 프로토콜과 라우터 장비가 포함됨Layer 2 - 데이터링크(Data Link) 계층으로 프레임 단위로 데이터 전송
- Point to Point 간 신뢰성 있는 정보를 보장하기 위해 오류 검출 및 제어와 흐름 제어 기능을 수행Layer 1 - 물리 계층으로 비트(bit) 단위로 데이터 전송
- RS-232, RS-449 등의 프로토콜과 허브, 리피터 장비가 포함됨
17
리눅스 시스템에 설정된 게이트웨이의 주소 값을 확인하는 명령
ip, route, netstat
ip route
: 게이트웨이 주소를 확인route
: 게이트웨이 주소를 포함한 정보 출력netstat -r
: route 명령을 대신함
[오답]
NIC(Network Interface Controller)의 정보를 표시하고, 전송 속도 및 상태값 등을 설정
ethtool
18
C 클래스에 속한 1개의 네트워크를 할당받은 상태이다. 이 네트워크 대역을 사용하는 부서가 4곳이라 4개의 서브넷을 구성하려고 할 때 설정하는 서브넷 마스크의 값
255.255.255.192
C 클래스 네트워크 대역이므로 255.255.255.0이 기본 서브넷 마스크가 된다.
클래스 첫 번째 옥텟(범위) 기본 서브넷 마스크 네트워크 개수 한 네트워크당 호스트 개수 A 클래스 1.0.0.0 ~ 126.255.255.255 255.0.0.0 적음 많음 (16M) B 클래스 128.0.0.0 ~ 191.255.255.255 255.255.0.0 중간 중간 (64K) C 클래스 192.0.0.0 ~ 223.255.255.255 255.255.255.0 많음 적음 (254) D 클래스 224.0.0.0 ~ 239.255.255.255 - 멀티캐스트 - E 클래스 240.0.0.0 ~ 255.255.255.255 - 연구용 - - 이를 비트로 표시하면 11111111 11111111 11111111 00000000이 된다.
- 여기서 4개의 서브넷 마스크를 구성한다고 하였으므로 마지막 값이 11000000이 되므로 255.255.255.192가 서브넷 마스크가 된다.
- 서브넷 생성을 위해 호스트 부분의 비트 일부를 네트워크 비트로 전환해야 한다.
- 서브넷 개수를 구하는 공식 :
2^n
≥ 필요한 서브넷 개수 (n은 서브넷을 위해 추가할 비트 개수) - 4개의 서브넷이 필요하므로 2^2 ≥ 4 → 2비트를 사용하여 4개의 서브넷을 생성 가능하다.
- 즉, C 클래스의 기본 서브넷 마스크 255.255.255.0에서 2비트를 더 사용해야 한다.
19
실제로 도메인을 확보하지 않았지만, 로컬 시스템에 가상의 도메인을 부여해서 서버 관련 실습을 진행하려고 할 때 사용하는 네트워크 관련 파일
/etc/hosts
[오답]
요청할 DNS 서버를 지정할 때 사용하는 설정 파일
/etc/resolv.conf
시스템 전체에 대한 기본 게이트웨이 주소, 호스트네임, 네트워킹 연결 허용 여부 설정
/etc/sysconfig/network
eth0(이더넷), lo(루프백) 등 시스템에 설치된 네트워크 인터페이스의 설정 정보 파일을 저장
/etc/sysconfig/network-scripts/
2과목
20
인터넷 도메인 이름, IP 주소, 프로토콜의 범주와 포트번호 할당, DNS 관련 기능 감독, 도메인 분쟁의 조율과 중재 등을 담당하는 기구
ICAAN
[오답]
나라별 표준 제정 단체들의 대표로 구성된 국제 표준화 기구
ISO(Internal Organization for Standardization)
미국 에너지부에 속하는 통계, 분석청
EIA(Energy Information Administration)
전기전자 공학 국제 조직
IEEE(Institute of Electrical and Electronics Engineers)
21
**[ihduser@www ~]$ umask ( )
[ihduser@www ~]$ touch a.txt
[ihduser@www ~]$ mkdir aaa
[ihduser@www ~]$ ls -l
------w--w-. 1 ihduser ihduser 0 09:11 a.txt
d----w--w-. 2 ihduser ihduser 4096 09:22 aaa**
정답
755
- 일반 파일은 666 -umask 설정값을 퍼미션으로 생성된다. 각 자리 숫자는 사용자, 그룹, 기타의 권한으로 매핑된다.
- 디렉터리는 777 -umask 설정값을 퍼미션으로 생성된다.
- 지문에서는 touch로 수정한 파일의 퍼미션이 022, 이후 생성한 디렉터리의 퍼미션이 022이므로, 최종 umask 설정값은 777-022= 755가 되어야 한다.
22
/etc/passwd 파일만으로 사용자 계정을 관리하였으나 보안상의 문제로 인해 다시 /etc/shadow 파일에 사용자 패스워드를 관리하려고 할 때 사용하는 명령
pwconv
[오답]
/etc/passwd
파일을 분석하여 잘못된 내용을 표시한다.pwck
/etc/shadow
사용 정책에서/etc/passwd
사용 정책으로 변경하는 명령어pwunconv
/etc/passwd
파일을 잠금한 후 편집하고, 편집 완료 시 잠금해제하는 명령어로 vi 편집기를 기본 편집기로 사용한다.vipw
23
**# tar (①) xvf httpd-2.2.34.tar.bz2
# tar (②) xvf php-5.36.tar.xz
# tar (③) xvf mysql-boost-5.7.22.tar.gz**
정답
① j ② J ③ z
- tar : 파일을 압축하거나 압축된 파일을 해제한다.
주요 옵션
옵션 의미 A, —concatenate 기존 압축 파일(archive file)에 tar 파일들을 추가한다. -c, —create - 새로운 tar
파일 생성
- 인자로 여러 파일 이름을 지정해tar
파일을 만들 수 있다.
- 디렉터리를 지정해 하위 모든 파일과 디렉터리에 대한tar
파일을 생성할 수 있다. -—no-recursion
옵션이 주어지면 바로 하위 파일만 아카이브된다.d, —diff 압축 파일과 파일 시스템의 차이를 비교한다. -r, —append 이미 생성된 tar
파일에 또 다른 파일들을 추가-t, —list - tar
파일 안에 묶여있는 파일 목록 출력
- 인자로tar
파일 내의 파일을 지정하면 해당 파일 존재 유무를 확인한다.-u, —update 파일 날짜를 기준으로, tar 파일 내 압축되어 있는 파일과 비교하여 더 최신의 파일일 경우 업데이트한다. -x, —extract - 묶인 tar
파일을 여러 파일로 다시 해제한다.
- 아카이브된 파일 선택 시 해당 파일만 추출할 수 있다.부가옵션
옵션 의미 -v, —verbose - 진행중인 파일 정보를 표시 -f, —file 생성되는 tar
파일 이름 지정-h, —dereference 심볼릭 링크 파일이 가리키고 있는 원본 파일을 대상으로 압축한다. -s, —same-order 저장된 파일 목록과 같은 순서로 압축을 해제한다. -z, —gzip .tar.gz 형식으로 압축하거나 압축해제한다. -j, —bzip2 .tar.bz2 방식으로 압축된 파일을 읽거나 압축해제한다. -J .tar.xz 방식으로 압축된 파일을 읽거나 압축해제한다. -p, —same-permissions 모든 퍼미션 정보를 유지한다. -Z, —compress Compress를 이용하여 압축하거나 압축해제한다. -G, —incremental 예전 GNU 형식으로 증분 백업을 수행한다. -g, —listed-incremental 새로운 GNU 형식으로 증분 백업을 수행한다.
24
**# tar (①) backup.tar lin.txt joon.txt
# tar (②) backup.tar**
기존에 생성되어 있는 backup.tar 파일에 추가로 파일을 묶은 후 확인하는 과정이다. 괄호 안에 들어갈 내용은?
① rvf ② tvf
- r : 기존 tar 파일의 마지막에 파일을 추가하는 옵션
- t : tar 파일 내 압축되어 있는 파일 목록을 추가하는 옵션
25
프로세스의 우선순위를 변경할 때 사용하는 명령
top, nice, renice
- nice : 사용자 프로세스 사이에서 프로세스의 우선순위를 조정한다.
top
명령어로 프로세스의 정보를 보면 NI 필드로 표현이 된다.
- renice : 현재 실행 중인 프로세스의
nice
값을 바꾼다.
[오답]
백그라운드로 실행중인 프로세스나 현재 중지된 프로세스의 목록을 출력하는 명령어
jobs
- nice : 사용자 프로세스 사이에서 프로세스의 우선순위를 조정한다.
26
( ) /etc/backup.sh : 월, 수, 금요일 오후 4시 30분에 백업 스크립트가 동작하도록 cron을 설정
30 16 * * 1, 3, 5
- crontab : 시스템에서 주기적으로 수행할 작업 지정
- 형식 : [minute][hour][day_of_month][month][weekday][command]
27
사용자 추가 시 할당되는 UID의 값을 1000번부터 부여되도록 지정할 때 설정하는 파일
/etc/login.defs
[오답]
사용자 계정이 생성될 때 해당 디렉터리의 내용들이 사용자의 홈디렉터리로 복사된다. 대표적으로 .bash_logout, .bash_profile, .bashrc가 있다.
/etc/skel
passwd의 비밀번호 부분을 암호화하여 관리하는 파일
/etc/shadow
useradd 명령 실행 시 참조하는 기본 정보 파일
/etc/default/useradd
28
ihduser가 회사를 휴직하여 휴직 기간동안 일시적으로 시스템에 로그인을 불가능하도록 설정하는 명령
passwd -l ihduser
- passwd : 사용자의 패스워드를 설정, 변경, 삭제하는 명령어
주요 옵션
옵션 설명 -l Lock. 계정을 잠금 설정하여 로그인이 불가능하게 설정 -u Unlock. 계정을 잠금 해제하여 로그인이 가능하게 설정 -S 계정 정보를 자세히 출력 -d 계정에 설정된 암호를 제거하여 패스워드 없이 로그인 가능하게 설정 -n 패스워드 변경 후 최소한 사용해야 하는 날짜 수 지정 -x 패스워드의 유효기간 지정 -w 패스워드 만료 전 경고 날짜 지정 -i 패스워드 만료 후 로그인이 불가능해질 때까지의 기간 지정 -e 다음 로그인 시 패스워드를 무조건 변경하도록 강제
29
아파치 웹 서버를 운영중인데 웹 문서가 위치한 디렉터리가 /usr/local/apache/htdocs이다. 이 경로 이외에도 추가로 /etc/www로 접근이 가능하도록 설정하려고 할 때 실행할 명령
ln -s /usr/local/apache/htdocs /etc/www
- ln : 리눅스 파일 시스템에서 링크 파일을 만드는 명령어
- 형식 :
ln [옵션] 원본파일 대상파일
- 심볼릭 링크 : -s 옵션을 이용하여 만들며, 새로운 i-node 값이 할당되어 원본 파일의 i-node를 가리킨다. 따라서 원본 파일이 삭제되면 접근할 수 없게 된다. 심볼릭 링크는 파일과 디렉터리 모두에서 사용할 수 있다.
- 하드 링크 : 원본 파일과 동일한 i-node를 갖게 된다. 따라서 원본 파일이 삭제되어도 원본 파일의 i-node를 갖는 링크파일을 이용하여 계속 사용할 수 있게 된다. 단, 하드 링크는 파일에만 사용할 수 있다.
30
**[root@www ~]# ls -ld /data
drwxr-xr-x. 2 root root 4096 Jul 4 16:46 /data
[root@www ~]# ls -l /data
total 4
-rw-r--r--. 1 root root 33 Jul 4 16:47 ln.txt
[root@www ~]#**
ihduser라는 계정이 lin.txt 파일을 삭제할 수 있도록 권한을 설정하는 명령
chmod o+w /data
- /data 디렉터리의 사용권한 혹은 lin.txt의 사용권한을 변경하여 삭제할 수 있도록 설정해야 한다.
- /data 디렉터리는 root가 소유자이며 다른 사용자는 읽기, 폴더 안으로 접근만 가능하다.
- lin.txt 파일은 root가 소유자로 다른 사용자는 읽기만 가능하다.
- chmod 명령으로 권한 설정 시 사용자(u 옵션), 그룹(g 옵션), 다른 사용자(o 옵션)를 지정하고 rwx로 각각 읽기/쓰기/실행 권한을 설정 할 수 있다.
chmod o+w /data
: 다른 사용자가 /data 디렉터리 내의 파일을 삭제, 수정, 변경할 수 있도록 권한을 설정한다.
[오답]
파일의 소유자와 그룹을 변경하는 명령어
chown
- chmod 혹은 chown의 대상으로 파일을 지정할 경우 접근 가능한 경로(ex. 절대경로)를 지정해야 한다.
- /data 디렉터리의 사용권한 혹은 lin.txt의 사용권한을 변경하여 삭제할 수 있도록 설정해야 한다.
31
시스템 전체에서 Set-UID가 설정된 파일을 전부 찾는 명령
find / -type f -perm -4000
- setuid 비트 : 8진수로 4000이며, 실행 순간만 대상 파일의 소유자 권한을 갖게 된다.
- find :
find [검색 대상 디렉터리] [찾기옵션]
형식으로 파일을 검색한다. find 명령의 주요 옵션
옵션 설명 -name [파일이름] 지정한 파일 이름과 일치한 파일을 찾는다. -perm [권한] 권한과 일치하는 파일을 찾는다. -empty 빈 파일 혹은 디렉터리를 검색한다. -type [파일타입] 지정한 파일 타입을 대상으로 검색한다.
--d
: 디렉터리 --f
: 일반 파일 --l
: 심볼릭 링크
32
hack.c 파일을 컴파일하여 ps라는 실행 파일을 생성한다.
gcc -o ps hack.c
- gcc : C언어의 소스코드를 컴파일하는 명령어
gcc -o [실행파일명][소스파일명]
: 소스파일로부터 실행파일을 생성gcc -c [목적파일명][소스파일명]
: 소스파일을 컴파일하여 목적 파일 생성
33
yum을 이용하여 telnet-server 패키지를 제거하는 명령
yum remove telnet-server
- yum : 패키지 관리 명령어로
/etc/yum.repos.d/
디렉터리의 저장소 파일(.repo)를 참조하여 동작한다. yum 주요 명령 옵션
명령 옵션 설명 install 패키지 설치 check-update 업데이트 가능 목록 확인 remove 패키지 삭제 search 인터넷에 설치 가능한 패키지 확인 info 패키지 정보 확인 list 관련 단어가 포함되어 있는 패키지 목록 확인
- yum : 패키지 관리 명령어로
34
**# rpm (①) httpd
error: Failed dependencies:
httpd >= 2.2.0 is needed by (installed)
gnome-user-share-2.2.28.2-3.el6.i686
# rpm (①) httpd (②)**
rpm 명령을 사용하여 httpd 패키지를 제거할 때 괄호안에 들어갈 내용
① -e ② —nodeps
- rpm : 레드햇 기반 리눅스에서 패키지 관리를 지원한다.
rpm의 설치, 업데이트 및 삭제 주요 옵션
옵션 설명 -i 동일한 패키지가 설치되어 있지 않은 경우, 패키지를 새로 설치 -h 설치 혹은 업그레이드 진행 상황을 # 문자를 이용하여 표시 -U 패키지를 업그레이드. 기존에 설치된 패키지가 없을 경우 새로 설치 —force 기존에 패키지가 설치되어 있더라도 강제로 설치 -e 패키지 삭제 —nodeps 패키지 삭제 시 의존성을 점검하지 않음 —test 실제 삭제하지 않고 모의로 삭제 rpm의 질의 주요 옵션
옵션 설명 -q 질의를 위해 기본적으로 사용해야 하는 옵션으로 패키지 이름, 버전, 릴리즈 등 간단한 정보 표시 -i 패키지 정보, 이름, 버전, 설명 등 패키지에 대한 자세한 정보 표시 -l 패키지 목록 출력 -f 지정한 파일을 설치한 패키지 출력 -a 설치된 모든 패키지에 대해 질의 -c 패키지의 설정 파일이나 스크립트 파일 출력 -s 패키지의 각 파일 상태를 normal, not installed, replaced로 표시 rpm의 기타 옵션
옵션 설명 -v 자세한 정보를 출력 —quiet 에러 메시지 외에는 다른 정보를 출력하지 않음 -V 검증시 사용하는 기본 옵션
35
백그라운드로 실행중인 프로세스나 현재 중지된 프로세스의 목록을 확인할 때 사용하는 명령
jobs
[오답]
jobs 명령으로 확인 가능한 ID를 이용하여
bg %ID
의 형식으로 작업을 백그라운드로 실행bg
백그라운드에서 실행중인 작업을 포어그라운드로 전환
fg
프로세스 정보를 확인하는 ps 명령과 원하는 정보를 필터링하는 grep 명령을 하나로 통합하여 실행
pgrep
36
httpd와 같이 프로세스 이름을 인자값으로 사용하는 명령
killall, pkill, nice
프로세스 이름을 인자로 하여 관련 프로세스를 모두 종료시킨다.
killall
프로세스 이름을 인자로 하여 해당 프로세스를 종료시킨다.
pkill
프로세스 이름을 인자로 하여 우선순위를 조정한다.
nice
[오답]
PID를 인자로 하여 해당 프로세스에 원하는 시그널을 전달한다.
kill
37
Change Time과 같이 파일에 대한 시간 관련 정보인 타임스탬프 정보를 확인하는 명령
stat
stat [파일명]
을 형식으로 하여, i-node 번호, UID 및 GID, 링크 수, 접근시간, 수정시간, 변경시간을 확인할 수 있다.
[오답]
파일 목록을 확인하는 명령어로 요약된 정보를 출력한다.
ls
명령어에 대한 상세 설명을 제공하는 명령어
info
파일의 시간 정보를 현재 시간으로 변경하는 명령어
touch
38
파일 시스템을 검사하여 aquota.user와 같은 quota 기록 파일을 생성하는 명령
quotacheck
디스크 사용량 관련 주요 명령어
명령어 설명 edquota Edit Quota를 의미하며, vi 편집기를 이용하여 사용자 혹은 그룹의 디스크 쿼터를 설정 setquota 명령행 파라미터(옵션)을 지정하여 디스크 쿼터를 설정 quota 사용자, 그룹의 디스크 쿼터 정보 출력 repquota Report Quota를 의미하며, 현재 파일 시스템의 쿼터 정보를 요약하여 출력 quotacheck 파일 시스템을 검사하여 쿼터 설정을 최신으로 갱신한다. 만일 오류 메시지가 표시되면 quotaoff 명령으로 쿼터 기능을 중지한 후 사용한다. quotaon 파일 시스템의 쿼터 기능을 활성화 quotaoff 파일 시스템의 쿼터 기능을 중지
39
**[root@www ~]# w
22:28:56 up 3:09, 2 users, load average: 0.08, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 :0 10:20 12:08m 4.05s 4.05s /usr/bin/Xorg
root pts/0 10.0.0.0 10:20 0.00m 0.18s 0.12s
[root@www ~]#**
위의 결과에 해당하는 명령
w
- w : 로그인한 사용자와 사용자가 수행 중인 작업 출력
[오답]
로그인한 사용자의 로그인명, 터미널, 로그인 시간 등을 출력
who
로그인한 사용자가 현재 갖고 있는 권한의 ID를 출력한다. 만일 일반 사용자가 su 명령을 이용하여 root 권한으로 변경한 경우, 해당 명령은 root 결과를 출력한다. 이 때 who 명령을 입력한다면 원래 사용자명이 출력된다.
whoami
시스템 사용자의 정보를 출력
lslogins
40
root 사용자 관리 기법
- 무의미하게 장시간 로그인 되어 있지 않도록 함
- ssh로 접근 시 root로 직접 로그인 되는 것을 막음
- PAM(Pluggable Authentication Modules)를 이용해서 접근을 제어
- PAM : 리눅스 시스템에서 애플리케이션과 서비스에 대한 중앙 집중적, 동적 인증을 제공
- [오답] root 이외에
UID가 0인 사용자를 하나 추가로 생성→ root 권한을 갖는 사용자는 최소한으로 유지해야 함
41
리눅스 커널
- 리눅스에서 커널은 시스템 자원을 소유하고 관리하는 역할을 담당
- 리눅스 커널 버전 확인은
uname -r
명령으로 할 수 있음 - 커널 컴파일은 커널 소스를 이용하여 시스템에 최적화된 커널을 만드는 과정임
- [오답] 프로그램이 하드웨어 자원을
직접적으로 접근할 수 있도록 해줌 → HAL(Hardware Abstract Layer)을 이용하여 하드웨어 자원을 간접적으로 접근할 수 있도록 함
42
셸에서 example.txt 파일을 프린터로 출력하는 명령
cat example.txt > /dev/lp0
- /dev/lp0은 프린터 장치를 의미하며, 리다이렉션의 대상으로 지정하여 출력 가능
[오답]
해당 명령어의
-d
옵션은 출력 대상 프린터를 지정lp (-d example.txt)
LP 프린터의 상태 정보를 확인하는 명령어
lpstat
파일의 출력 형식을 조정하여 표준 출력으로 출력
pr
43
프린트 관련 명령어
- 리눅스에서 프린트 관련 명령어는 BSD 계열과 System V 계열로 나눌 수 있다.
- System V 계열 명령어에는 lpstat, cancel 등이 있다.
- lpstat : LP 프린터 상태 정보 표시
- cancel : 프린트 취소
- 대부분의 배포판에서는 이 두 계열의 명령어를 모두 지원한다.
- [오답] BSD 계열 명령어는
lp, lpc 등이 있다. → lp는 System V 계열의 프린터 명령어- lp : 프린트
44
커널 컴파일 시 설정된 작업을 초기화하기 위해 사용하는 명령으로 오브젝트 파일뿐만 아니라 설정된 환경 파일인 .config 파일까지 지우는 명령
make mrproper
[오답]
컴파일 이전의 상태로 만든다. 즉, 컴파일로 생성한 파일을 삭제한다.
make clean
소스 파일과 헤더의 의존성을 검사하고
/usr/src/linux/.depend
를 생성한다.make dep
45
모듈 간의 의존성을 기록한 파일
modules.dep
- modprobe 명령은 모듈 간의 의존성 파악을 위해
/lib/modules/커널버전/modules.dep
를 검색한다.
[오답]
커널 모듈의 확장자이며 일반적으로
/lib/modules/커널버전/kernel/
디렉터리에 저장된다. 실행 중인 커널 모듈은 lsmod 명령어를 이용하여 확인할 수 있다.modules.ko
- modprobe 명령은 모듈 간의 의존성 파악을 위해
46
리눅스에서 프린터를 지원해주는 인쇄 시스템 조합
CUPS, LPRng
[오답]
사운드 카드용 장치 드라이버를 위한 API를 제공하는 소프트웨어
ALSA
스캐너를 이용하기 위한 소프트웨어 프레임워크
SANE
47
모듈
- 리눅스에서 커널 모듈은 필요에 따라 커널 이미지에 합류시키거나 해제할 수 있다.
- insmod 명령은 커널에 모듈을 적재하는 명령으로 자동으로 검색하고 삽입한다.
- rmmod 명령은 커널에서 모듈을 제거하는 명령으로 사용 중인 모듈은 제거할 수 없다.
- [오답] 모듈 방식은 새로운 장치가 추가될 때마다
커널을 새롭게 만들어야 할 필요가 있다.→ 새로운 장치를 위한 모듈을 추가할 때에도 커널을 새롭게 컴파일하지 않을 수 있다.
48
리눅스 시스템에 하드디스크를 추가하여 이용하는 과정에서 사용되는 명령
mount, mkfs, fdisk
현재 마운트를 확인하고 작업하는 명령어
mount
파일 시스템을 생성하는 명령어
mkfs
디스크 파티션을 확인하고 작업하는 명령어
fdisk
49
리눅스의 사운드 카드용 장치
사운드카드를 자동으로 구성하게 하고 다수의 사운드 장치 관리를 목적으로 한다.
ALSA
ALSA 사운드 카드를 초기화하거나 정보를 환경설정 파일에 저장하는 명령어
alsactl
표준 유닉스 장치 시스템콜(POSIX read, write, ioctl 등)에 기반을 두고 있다.
OSS
여러 개의 사운드를 믹싱하는 GUI 프로그램
alsamixer
50
자동문서공급장치가 장착된 스캐너에서 여러 개의 사진을 스캔할 때 사용하는 명령
scanadf
USB 혹은 SCSI 스캐너와 관련 장치 파일을 찾아주는 명령어
sane-find-scanner
GUI 기반으로 평판 스캐너나 카메라로부터 이미지를 스캔해주는 도구
xcam
51
**# vi /boot/grub/grub.conf
splashimage=(hd0,0)/boot/grub/grub/splash.xmp.gz
( ) $1$MveMC$7Ps/RkijT6FrZLPFIrbIF.
title CentOS 6 (2.6.32-504.el6.x86_64)**
GRUB 패스워드를 설정하는 과정의 일부로 괄호에 들어갈 내용은?
password —md5
- GRUB(Grand Unified Bootloader) : GNU에서 개발한 멀티부트로더로 리눅스 부팅의 전 과정을 관리하며, 리눅스 운영체제만 지원하는 LILO(Linux LOader)와 다르게 윈도우 등 다른 운영체제에서도 사용할 수 있다. GRUB은
/boot/grub/grub.conf
를 설정 파일로 사용한다. grub.conf의 주요 항목
항목 설명 default 사용자가 부팅 메뉴를 선택하지 않은 경우 사용할 기본 부팅 메뉴를 지정한다. timeout 부팅 초기 화면에서 부팅 메뉴 선택 화면을 표시할 시간을 설정한다. (기본 10초) splashing 초기 부팅 화면에 표시될 배경 이미지를 설정한다. password 부팅 시 GRUB 모드로 진입하기 위해 사용하는 암호화된 패스워드를 지정한다. title 부팅 화면의 메뉴에 나타나는 제목을 설정한다. kernel 선택한 메뉴로 부팅할 경우 사용할 커널 이미지의 경로를 지정한다.
[오답]
MD5 형식의 해시값을 생성하는 명령어
md5crypt
- GRUB(Grand Unified Bootloader) : GNU에서 개발한 멀티부트로더로 리눅스 부팅의 전 과정을 관리하며, 리눅스 운영체제만 지원하는 LILO(Linux LOader)와 다르게 윈도우 등 다른 운영체제에서도 사용할 수 있다. GRUB은
52
인증 관련 로그를 ihduser 사용자의 터미널에 나타나도록 rsyslog.conf 파일에 설정하는 내용
authpriv.* ihduser
/etc/rsyslog.conf
파일을 이용하여 리눅스 시스템의 다양한 로그 파일 저장 방식을 설정한다.- 설정 파일의 구성은
facility.priority(:facility.priority) action
의 형식으로 지정된다. facility의 종류
facility 설명 * 모든 메시지 auth 로그인과 같은 사용자 인증 관련 메시지 authpriv 보안 및 승인 관련 메시지 cron cron 데몬 관련 메시지 daemon ftp, httpd와 같은 데몬 관련 메시지 kern 커널 메시지 user 사용자 프로세스에 관련된 메시지 local0~local7 시스템 부팅 관련 메시지 - priority는 메시지의 우선순위로 설정된 priority 이상의 메시지만 출력한다. 만일
=
와 같이 사용하면 해당 priority에 해당하는 메시지를 출력하고,≠
와 같이 사용하면 해당 priority에 해당하는 메시지만 제외하고 출력한다. - priority의 종류
- 값이 작을수록 우선순위가 높다.
level priority 설명 8 none - 지정한 우선순위가 없음 - facility에 .none
을 설정하면 해당 facility는 로그메시지를 출력하지 않는다.7 debug 디버깅 메시지 6 info 정보 메시지 5 notice 알림 메시지 4 warning, warn 경고 메시지 3 error, err 에러 메시지 2 crit 중요 메시지 1 alert 시스템을 사용할 수 있지만 위험이 발생했다는 메시지 0 emerg, panic 시스템을 더 이상 운용할 수 없다는 상태를 알리는 메시지 - Action은 메시지를 보내거나 저장할 대상을 지정한다.
action의 종류
action 설명 file 지정한 파일에 로그를 기록한다. @host UDP 프로토콜을 사용하여 지정한 호스트로 메시지를 전달한다. @@host TCP 프로토콜을 사용하여 지정한 호스트로 메시지를 전달한다. omusmsg:user 지정한 사용자가 로그인한 터미널로 전달한다. omusrmsg:* 현재 로그인되어 있는 모든 사용자의 터미널로 전달한다. 콘솔 또는 터미널 지정한 터미널로 메시지를 전달한다.
53
**find /home ( ) > home.backup** cpio 명령과 옵션
- cpio(copy in and out) : 대상 파일들을 복사하거나 하나의 파일로 아카이빙 혹은 아카이빙된 파일을 복원할 수 있다.
- 형식 :
cpio [옵션][디렉터리 혹은 파일이름]
- 문제에서는 find 명령의 결과를 파이프로 전달하여 cpio 명령을 실행한다.
[오답]
파일을 압축하거나 압축된 파일을 해제하는 명령어
tar
파일 시스템 전체를 백업 및 복구할 수 있는 명령어
dump
두 대의 호스트에 저장된 파일을 서로 동기화하는 서비스
rsync
54
**# tar ( ) -cvfp home.tar /home
# tar ( ) -cvfp home2.tar /home**
tar 명령을 이용하여 증분 백업하는 과정의 일부로 괄호에 들어갈 내용은?
-g list
- 증분 백업 : 마지막 백업 이후로 변경되거나 추가된 데이터만 선택적으로 백업하는 방식으로, tar 명령의
-g
옵션을 이용한다. tar 기본 옵션 (아래 옵션 중 하나는 꼭 추가되어야 함)
옵션 설명 A (—catenate) 기존 압축 파일에 tar 파일들을 추가 c (—create) 새로운 파일을 만든다. 동일한 파일이 존재할 경우 overwrite한다. d (—diff) 압축 파일과 파일 시스템의 차이를 비교 r (—append) 기존 tar 파일의 마지막에 파일 추가 t (—list) tar 파일 내 압축되어 있는 파일 목록 출력 u (—update) 기존 파일보다 새로운 파일인 경우 파일 추가 x (—extract) 압축된 파일을 압축해제 부가옵션
옵션 설명 v (—verbose) 진행 중인 파일 정보 표시 l (—file) 파일명 지정 h (—dereference) 심볼릭 링크가 가리키는 파일을 대상으로 압축 s (—same-order) 저장된 파일 목록과 같은 순서로 압축 해제 z (—gzip) .tar.gz 형식으로 압축하거나 압축해제 j (—bzip2) .tar.bz2 방식으로 압축된 파일을 읽거나 압축해제 J .tar.xz 방식으로 압축된 파일을 읽거나 압축해제 p (—same-permissions) 모든 퍼미션 정보 공유 Z (—compress) Compress를 이용하여 압축하거나 압축해제 G (—incremental) 예전 GNU 형식으로 증분 백업 수행 g (—listed-incremental) 새로운 GNU 형식으로 증분백업 수행
- 증분 백업 : 마지막 백업 이후로 변경되거나 추가된 데이터만 선택적으로 백업하는 방식으로, tar 명령의
55
project 그룹에 속해있지 않은 ihduser에서 project 그룹 소유의 파일에 쓰기 권한(w)이 가능하도록 설정하는 명령어
setfactl
- setfacl :
setfacl [옵션][권한][경로명]
의 형식을 이용하여 파일과 디렉터리의 ACL을 관리한다. - ACL(Access Control List) : 리눅스 시스템의 자원에 사용자가 접근할 수 있는 권한을 설정하고 관리하는 기능
setfacl의 주요 옵션
옵션 설명 -m 권한 추가 -x 권한 삭제 -b 모든 권한 초기화 -k 기본(default) 권한 삭제 권한을 확인하는 명령어
getfacl
[오답]
OpenPGP를 이용하여 암호화와 사인을 제공하는 명령어
gpg
파일과 디렉터리의 속성을 변경하는 명령어
chattr
SELinux에서 파일의 보안속성(문맥)을 변경하는 명령어
chcon
- setfacl :
56
공유 디렉터리로 사용되는 하드디스크(/dev/sdb) 전체를 CD-ROM 용량에 해당하는 650MB 단위로 분할해서 백업하려고 할 때 사용하는 도구
dd
- dd : 데이터를 블록 단위로 변환 혹은 복사하는 명령어로 파티션이나 디스크 단위의 백업에 사용 가능
[오답]
대상 파일들을 복사하거나 하나의 파일로 아카이빙 혹은 아카이빙된 파일을 복원하는 명령어
cpio
두 대의 호스트에 저장된 파일을 서로 동기화하는 서비스
rsync
파일 시스템 전체를 백업 및 복구할 수 있는 명령어
dump
57
사용자 보안 강화를 위해 단순한 패스워드를 설정한 사용자를 찾아서 경고 조치를 시행할 때 사용하는 보안 도구
John the Ripper
- John the Ripper : 사전 방식으로 구성된 데이터를 이용하여 패스워드 무작위 대입 공격을 할 수 있는 도구
[오답]
시스템의 취약점을 확인할 수 있는 취약점 스캔 도구
Nessus
공개키 방식의 암호화 기반을 사용하여 안전한 통신을 지원
GnuPG
강제 접근 제어(MAC)을 포함한 접근 제어 보안 정책을 지원하는 리눅스 커널 보안 모듈
SELinux
58
재부팅(reboot)한 기록을 가장 쉽게 확인할 수 있는 명령
last
- last :
/var/log/wtmp
정보를 참조하여 로그인, 로그아웃, 재부팅 이력을 확인한다.
[오답]
/var/log/btmp
로그 파일을 참조하여 로그인 실패 기록 확인lastb
각 계정에 대한 마지막 로그인 정보 출력
lastlog
시스템 부팅 메시지 등 커널의 메시지 버퍼를 출력하는 명령어로 리눅스 커널 버전, CPU 정보 등을 포함
dmesg
- last :
59
vi 편집기를 사용하여 편집이 가능한 로그 파일
secure
[오답]
last 명령어를 이용하여 내용 확인
wtmp
lastlog 명령어를 이용하여 내용 확인
lastlog
lastb 명령어를 이용하여 내용 확인
btmp
60
- 백업 대상이 되는 디렉터리의 조합
/etc, /usr, /var
[오답]
임시 파일을 저장하는 디렉터리
/tmp
3과목
61
**( ) localhost7;**
dhcpd.conf에서 syslog에 전달한 로그의 facility를 지정할 때 괄호에 들어갈 내용
log-facility
/etc/dhcp/dhcpd.conf
파일은 DHCP 데몬인 dhcpd가 사용하는 설정 파일로, DHCP의 로그 메시지를 다른 곳으로 전달하려면 log-facility 항목을 이용한다.
62
**# vi /etc/samba/smb.conf
( ) = ihduser kaitman**
삼바 서버 설정 파일에서 공유 디렉터리를 이용할 수 있는 사용자를 지정할 때 괄호에 들어갈 내용
valid users
- 삼바 서버는
/etc/samba/smb.conf
를 환경설정 파일로 이용하며, 각 공유 폴더별로 설정값을 지정한다. 삼바의 공유 폴더의 주요 설정 옵션
설정 옵션 설명 [디렉터리 이름] - []
사이에 공유 폴더 이름 지정
- ex. [homes]comment - 공유 폴더에 대한 설명 기술
- ex. comment = Home Directoriespath - 공유 디렉터리의 절대 경로 지정
- ex. path = /var/www/htmlread only = yes 읽기만 가능하도록 설정 writable = yes 쓰기 가능하도록 설정 write list = [사용자명] - 쓰기 가능한 사용자 지정
- @를 앞에 붙여서 그룹 지정
- ex. write list = smbuser @managervalid users = [사용자명] 접근 가능한 사용자를 지정하고, 별도로 지정하지 않는 경우 전체 사용자가 접근 가능하다. public = no 개인 사용자만 사용할 수 있도록 설정 browseable = no 이용 가능한 공유 리스트에 표시되지 않도록 설정 create mask = 값 파일 생성 시 사용되는 기본 접근 모드를 지정 (ex. 0644) follow symlinks = no 심볼릭 링크를 따르지 않도록 설정하여 잠재적 보안 위협 제거 printable = yes 삼바 프린터를 네트워크 프린터로 공유
- 삼바 서버는
63
LDAP
LDAP은 이름, 주소와 같이 하나 이상의 속성을 가진 객체로 구성되고 그 객체를 엔트리라고 부른다. 각각의 엔트리는 DIT라는 트리 구조로 조직화되고 이 조직 내에서 고유한 식별자인 (①)를 사용하고 (①)는 (②)로 구성된다.
① DN ② RDN
- LDAP(Lightweight Directory Access Protocol) : 디렉터리 서비스를 조회하고 수정하는 TCP 기반 응용 프로토콜
LDAP의 주요속성
속성 설명 속성 설명 c 국가 이름 ou 부서 이름 st 주 이름(우리나라는 도) cn 전체 이름(이름 + 성) l 도시 혹은 지역 sn 성 street 도로명 주소 givenName 이름 dn 조직 내 고유 식별자 dc 도메인 네임 요소 rdn 상대(relative) DN mail 이메일 주소 o 조직(회사) 이름 telephoneNumber 전화번호
64
MySQL 5.7 버전의 소스 파일을 다운로드하여 설치한 후에 기본 관리 데이터베이스를 생성하고 root 사용자의 임시 패스워드를 부여받는 과정이다. 참고로 명령 작업은 관련 명령어가 존재하는 디렉터리에서 실행하고 있다.
./mysqld —initialize —user=root &
[오답]
MySQL를 시작하기 위해 사용하는 명령어
mysqld_safe
65
**acl localnet src 192.168.12.0/255,255,255,0
( ) localnet**
squid.conf에서 특정 네트워크 대역만 사용할 수 있도록 허가하는 과정
http_access allow
- 프록시 서버인 squid는
/etc/squid/squid.conf
를 환경설정 파일로 이용한다. squid.conf
의 주요 옵션 항목옵션 설명 cache_dir [옵션] - 캐시 데이터가 저장될 경로명을 지정한다.
- 옵션 :cache_dir ufs [경로][캐시 데이터 크기, MB][첫번째 디렉터리 수][두번째 디렉터리 수]
- ufs : squid의 저장 포맷
- ex. cache_dir ufs /var/spool/squid 100 16 256http_port [포트 번호] - 사용할 포트 번호 지정
- ex. http_port 3128acl [별칭] src [IP 주소 대역] - acl 구문으로 별칭을 지정한 후, 별칭에 대한 접근 권한을 설정한다.
- http_access allow [별칭] : 접근 허가
- http_access deny [별칭] : 접근 거부cache_mem [크기] - 캐시 크기를 설정한다.
- ex. cache_mem 2048 MBcache_log [로그 파일경로] 로그 파일을 지정한다.
- 프록시 서버인 squid는
66
터미널 환경에서 가상머신만을 대상으로 CPU 자원을 모니터링할 때 사용하는 명령
virt-top
- virt-top : 가상화 현황을 top과 유사한 형식으로 출력
[오답]
텍스트 기반의 콘솔 환경에서 가상머신을 관리해주는 도구로 생성, 시작, 재시작, 종료, 강제 종료 등의 기능을 수행한다.
virsh
가상머신을 손쉽게 시작 및 종료할 수 있고, 가상머신의 CPU 사용량, 호스트 CPU 사용량 등을 모니터링할 수 있는 GUI 기반의 도구
virt-manager
68
아파치 2.2 버전을 소스 파일로 설치하여 웹 서버를 운영중이다. idhuser 사용자가 개인 홈페이지를 운영할 수 있도록 관련 디렉터리명을 알려달라고 요청하였다. 설명에 해당하는 관련 파일명과 항목은?
관련 파일명 : httpd-userdir.conf, 항목 : UserDir
- 아파치 웹 서버에서 사용자별 홈페이지를 이용하려면 mod_userdir.so를 사용하고 관련정보를 설정한다.
- httpd.conf 내용 중
LoadModule userdir_module modules/mod_userdir.so
항목을 활성화(주석 처리 해제) 한다. - httpd.conf 내용 중
Include conf/extra/httpd-userdir.conf
항목을 활성화(주석 처리 해제)한다. - httpd-userdir.conf 내용 중
UserDir [디렉터리명]
항목을 수정한다.
- httpd.conf 내용 중
- 아파치 웹 서버에서 사용자별 홈페이지를 이용하려면 mod_userdir.so를 사용하고 관련정보를 설정한다.
69
**( ) application/x-httpd-php .php .html .htm .php5
( ) application/x-httpd-php-source .phps**
httpd.conf 파일에 php 확장자를 가진 파일을 해석할 수 있도록 설정하는 과정으로, 괄호 안에 들어갈 내용
AddType
[오답]
아파치 웹 서버의 동적모듈을 로딩한다.
LoadModule
아파치 웹 서버의 설정 파일을 나누어 작성한 후, 포함할 때 사용한다.
Include
70
PHP 5.6 버전의 소스 파일을 다운로드하여 configure 작업을 진행하려고 한다. php.ini 파일의 경로를 지정하는 configure의 옵션은?
—with-config-file-path
- PHP 소스코드의 configure 작업 시
—with-configure-file-path=[경로명]
를 이용하여 php.ini의 위치를 지정할 수 있다.
- PHP 소스코드의 configure 작업 시
71
NIS 서버 구성 시 반드시 구동해야 할 데몬
NIS 데이터베이스의 암호를 업데이트하기 위한 데몬
yppasswdd
NIS 서버와 NIS 클라이언트 간의 맵핑 속도를 높여주는 데몬
ypxfrd
RPC 서비스를 사용하는 프로그램에 고유 번호를 부여하고 RPC 서비스를 관리
rpcbind
[오답]
바인드 정보를 관리하여 NIS 서버와 클라이언트를 연결
ypbind
72
**# vi ( )
server nis.ihd.or.kr
ypserver nis.ihd.or.kr
domain ihd.or.kr**
NIS 클라이언트를 구성하는 과정
/etc/yp.conf
- /etc/yp.conf : NIS 바인드 정보를 관리하는 ypbind의 환경설정 파일
[오답]
ypserv를 위한 옵션 저장
/etc/ypserv.conf
73
**[posein@www ~]$
Enter posein’s password:
Domain=[USER-PC] OS=[Windows 7 Professional 7601 Service Pack 1] Server=[Windows 7 Professional 6.1]
smb: \> ls
. D 0 Thu Feb 5 19:39:32 2015
.. D 0 Thu Feb 5 19:39:31 2015
httpd-2.2.29.tar.bz2 A 5625498 Thu Feb 5 19:38:57 2015
59592 blocks of size 4194304. 42417 blocks available**
위에 해당하는 명령
smbclient
- smbclient :
smbclient [옵션][호스트명]
형식을 갖는 명령어로 윈도우 공유 폴더를 확인하고 접근
[오답]
삼바의 접속 정보를 확인하는 명령어
smbstatus
삼바의 설정 정보를 확인하는 명령어
testparm
삼바 서버의 NetBIOS 이름으로 IP 주소를 조회할 수 있는 명령어
nmblookup
- smbclient :
74
NFS 클라이언트에서 NFS 서버에 익스포트된 정보를 확인할 때 사용하는 명령
showmount
[오답]
메모리에 로딩된 RPC 기반 서비스 테이블을 관리하는 명령어. 서비스 테이블은 프로그램과 포트번호를 매핑한 테이블임.
rpcinfo
NFS 서버의 익스포트된 디렉터리 정보, 즉 공유 목록을 관리하는 명령어
exportfs
NFS 및 RPC 연결에 대한 통계정보를 표시하는 명령어
nfsstat
75
ihduser 사용자가 회사로 들어오는 메일을 외부의 다른 메일 서버로 전송
홈디렉터리에 .forward 파일을 생성하여 등록
[오답]
메일의 별칭 혹은 특정 계정으로 수신한 이메일을 다른 계정으로 전달하도록 설정하며 보통 여러 사람에게 전달할 때 사용
/etc/aliases
메일 큐의 내용을 표시하는 명령어
mailq
가상의 메일 계정으로 들어오는 메일을 특정 계정으로 전달하는 정보를 설정하며
[가상 이메일 주소][포워딩할 이메일 주소 혹은 계정이름]
의 형식을 따름/etc/mail/virtusertable
76
/nfsdata라는 디렉터리의 접근을 192.168.12.0 네트워크 대역에 속한 호스트만 가능하도록 설정한다. 또한 읽기 및 쓰기가 가능하고, root로 접근하는 경우 root 권한을 인정하는 NFS 서버의 환경 설정 내용
/nfsdata 192.168.12.0/24(rw.no_root_squash)
- NFS 서버가 참조하는
/etc/exports
의 설정은 3가지 정보를 갖는다.- 공유 디렉터리명
- 접근 가능한 클라이언트 : 네트워크 IP 주소 혹은 주소 대역을 설정 가능
- 공유 옵션 : ro(read-only) rw(read-write), 사용자의 접근 권한
root 사용자의 접근 권한 설정
옵션 설명 no_root_squash root 권한 접근을 허용한다. root_squash root 권한 접근을 거부하기 위해 클라이언트의 root 요청을 nobody
(또는nfsnobody
)로 매핑시킨다.(기본값)all_squash NFS 클라이언트에서 접근하는 모든 사용자(root 포함)의 권한을 nobody(또는 nfsnobody)로 매핑시킨다. anonuid 특정 계정의 권한(uid)을 할당한다.
- NFS 서버가 참조하는
77
관련 파일의 정보 업데이트 후에 makemap hash 명령을 사용해야 하는 파일 조합
/etc/mail/access, /etc/mail/virtusertable
스팸 메일 방지 등을 위해 특정 IP 혹은 도메인으로부터 발송된 메일을 차단하는데 사용한다.
/etc/mail/access
makemap hash / etc/mail/access < /etc/mail/access
와 같은 방식으로 /etc/mail/access.db에 적용한다.
가상의 메일 계정을 들어오는 메일을 특정 계정으로 전달하는 정보를 설정한다.
/etc/mail/virtusertable
makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable
와 같은 방식으로 /etc/mail/virtusertable.db에 적용한다.
[오답]
sendmail에서 수신할 메일의 도메인과 호스트, 즉 메일 수신자를 설정하며 sendmail을 다시 시작하여 적용한다.
/etc/mail/local-host-names
sendmail.cf를 생성하며
m4 [sendmail.mc](http://sendmail.mc) > [sendmail.cf](http://sendmail.cf)
와 같이 사용한다./etc/mail/sendmail.mc
메일의 별칭 혹은 특정 계정으로 수신한 이메일을 다른 계정으로 전달하도록 설정하며
newaliases
혹은sendmail -bi
를 실행하여 적용한다./etc/aliases
78
DNS 서버 구성 시 리버스 존 파일을 생성하지 않았을 경우 발생하는 가장 큰 문제점
IP 주소에 대한 도메인 조회가 불가능하다.
79
**zone "." IN {
type ( );
file "named.ca";
}**
/etc/named.conf
파일의 일부로, 괄호에 들어갈 내용hint
- hint : 루트 도메인을 지정하기 위해 사용한다.
[오답]
1차 네임 서버를 지정하기 위해 사용한다.
master
2차 네임 서버를 정의하기 위해 사용한다.
slave
80
가상화의 효과 및 기능
사용자의 요구사항에 맞게 할당, 배치, 배포할 수 있도록 만들어 놓은 것을 말한다. 가상화 기반의 자원 할당은 물리적 단위보다 더 세밀한 조각 단위로 가능하다.
프로비저닝(Provisioning)
[오답]
물리적으로 분리된 자원을 논리적으로 통합하여 제공
단일화(Aggregation)
물리적인 특징이 다른 장치의 범용적인 모델로 인식하여 사용할 수 있도록 지원
에뮬레이션(Emulation)
하나의 가상화 서비스에 문제가 발생해도 다른 서비스로 장애가 전이되지 않도록 관리
절연(Insulation)
81
CentOS 6.9버전에서 가상화 서비스 운영을 위해 관련 데몬을 실행하는 명령
service libirtd start
- libvirtd : libvirt 관리 시스템의 서버 데몬으로 관리 도구와 통신하여 원격 도메인의 명령을 전달한다.
[오답]
Linux에서 가상화 지원을 위한 API, 데몬, 라이브러리, 관리 툴들의 모음
libvirt
데스크탑 GUI 환경으로 가상머신을 생성, 관리할 수 있는 소프트웨어
virt-manager
- 최근 리눅스의 경우 대부분 서비스 관리 스크립트들이
.service
로 끝나는 파일인 서비스 유닛으로 변경되었으며 systemctl 명령어로 제어된다. - CentOS 6에서 사용하던 방식과 같이 service 명령을 이용하여 서비스를 제어할 경우 systemctl 명령을 사용하는 방식으로 재요청된다.
82
네트워크 서비스의 종류가 다른 것은? (NFS, NIS, LDAP, Active Directory)
NFS
원격 호스트의 공유된 경로를 로컬에서 사용할 수 있도록 지원하는 서비스
NFS(Network File System)
[오답]
호스트명, 사용자명, 사용자 암호 등과 같은 시스템 정보를 검색하고 관리하기 위한 서비스
NIS(Network Information Service)
디렉터리 서비스를 조회하고 수정하는 TCP 기반 응용 프로토콜
LDAP(Lightweight Directory Access Protocol)
마이크로소프트 윈도우 운영체제의 서비스로 LDAP을 기반으로 인증 서비스를 제공한다.
Active Directory
83
( ) passwd.byname
ypcat
- ypcat
- NIS 데이터베이스의 모든 키의 값을 표시한다.
ypcat hosts.byname
으로 호스트 관련 정보를 확인할 수 있고ypcat passwd.byname
으로 사용자 관련 정보를 확인할 수 있다.
[오답]
NIS 서버 이름 출력
ypwhich
NIS 데이터베이스의 암호 변경
yppasswd
NIS의 도메인명, 맵 파일정보, 계정 정보 등을 확인
yptest
- ypcat
84
vsftpd 패키지 설치 시 생성되는 /etc/vsfpd/ftpusers 파일 역할
서버로 접근할 수 없는 사용자의 계정이 기입되어 있음
userlist_enable=YES
로 설정 시 ftpusers와 함께 user_list에 등록된 모든 계정은 접속 차단된다.
85
vsfpd.conf 파일 설정 항목
chroot_local_user=YES
가 무엇인가접속한 사용자의 홈 디렉터리를 최상위 디렉터리가 되도록 지정
- vsftpd는
/etc/vsftpd/vsftpd.conf
를 설정파일로 사용한다. 주요 설정 항목
항목 설명 anonymouns_enable=YES 익명 사용자의 접속 허가 anon_upload_enable=YES 익명 사용자의 업로드 허가 anon_mkdir_write_enable=YES 익명 사용자가 새로운 디렉터리를 만드는 것을 허가 local_enable=YES 로컬 계정 사용자의 접속 허가 write_enable=YES FTP 쓰기 명령 허가 local_umask=022 기본 umask 값인 077을 지정한 값(022)로 변경 chroot_local_user=YES 접속한 사용자의 홈 디렉터리를 최상위 디렉터리가 되도록 지정 chroot_list_enable=YES 홈 디렉터리의 상위 디렉터리로 이동할 수 있는 사용자 목록 사용 chroot_list_file=[파일명] /etc/vsftpd/chroot_list와 같이 상위 디렉터리로 이동할 수 있는 사용자 목록을 담은 파일 지정 chown_uploads=YES 익명 사용자가 업로드한 파일의 소유권 변경 chown_username=[계정명] 익명 사용자가 업로드한 파일의 소유권을 갖게 될 사용자를 설정 pam_service_name=[이름] vsftpd와 같이 PAM 인증에 사용할 설정 파일의 이름을 지정 userlist_enable=YES /etc/vsftpd/user_list를 사용 tcp_wrapper=YES tcp_wrapper를 이용하여 접근 제어 수행 session_support=YES wtmp에 로그를 남겨 last 명령으로 접속 여부 확인 dirmessage_enable=YES 디렉터리 이동시 해당 디렉터리의 메시지(.message 파일의 내용)가 표시 ftpd_banner=[메시지] FTP 접속 시 표시될 환영 메시지를 설정 xferlog_enable=YES FTP 관련 로그를 기록 xferlog_file=[경로명] /var/log/xferlog와 같이 로그 파일 경로를 지정 xferlog_std_format=YES 로그 파일이 표준 포맷을 사용하도록 설정 listen_port=[포트번호] 21과 같이 vsftpd의 접속 포트를 지정 ftp_data_por=[포트번호] 20과 같이 데이터 전송에 사용할 포트 지정 listen=YES 스탠드어론(standalone) 모드로 동작시 설정하는 항목 idle_session timeout=[초] idle 상태에서 접속을 유지할 최대 시간 설정(기본 300초) data_connection_timeout=[초] Data connection을 끊기 전까지의 대기 시간 설정(기본 60초) max_clients=[최대값] 접속할 수 있는 클라이언트의 최대 허용 건수 지정 max_per_ip=[최대값] 한 IP 주소당 접속할 수 있는 최대 허용 건수 지정
- vsftpd는
86
IMAP 및 POP3 서버로 사용되는 프로그램
dovecot
[오답]
MTA(Mail/Message Transfer Agent)의 역할을 담당하는 프로그램
qmail
X 윈도우를 위한 메일 클라이언트 프로그램
evolution
MTA(Mail/Message Transfer Agent)의 역할을 담당하는 프로그램
postfix
87
SMTP 프로토콜의 역할
- Outlook 프로그램을 이용해서 지정한 메일 서버를 통해 메일을 보낸다.
메일 서버와 메일 서버 간에 메일을 주고 받는다.
- SMTP(Simple Message Transfer Protocol) : 인터넷에서 이메일을 전송하기 위해 사용하는 프로토콜
[오답]
Outlook 등을 이용하여 도착한 메일을 확인할 때 사용하는 프로토콜
IMAP(Internet Message Access Protocol)과 POP3(Post Office Protocol 3)
88
DNS 서버를 운영하기 위해서는 (①) 라는 프로그램을 설치하고 (②) 이라는 데몬을 실행하면 된다.
(①) bind (②) named
DNS 서버의 기능을 제공하는 대표적인 소프트웨어로 yum install 명령어를 사용하여 설치한다.
bind
bind의 데몬 이름
named
89
zone 파일이 위치하는 디렉터리
/var/named
- 도메인 이름과 IP 주소 혹은 관련 리소스 간 매핑을 포함하고 리소스 레코드로 구성된다.
/var/named
에 zone 파일을 저장하며 named 데몬 실행 시 참고한다.
90
KVM이 지원하는 반가상화 항목
이더넷카드, Disk I/O, VGA
[오답] CPU
- KVM : 인텔의 VT 및 AMD-V를 기반으로 CPU 전가상화를 지원하는 기술로 리눅스 커널 2.6.20부터 포함되었다. CPU 에뮬레이터인 QEMU를 이용하여 리눅스/윈도우 등 다중 가상머신을 운영한다. 비록 CPU 반가상 기술을 지원하지 않으나 이더넷, Disk I/O, 그래픽 등은 반가상화를 지원한다.
91
버추얼박스가 지원하는 디스크 이미지 형식으로 틀린 것 (VDI, VHD, VMC, VMDK)
VMC
Microsoft Virtual PC에서 사용하는 가상머신 설정 파일 형식
VMC
[오답]
버추얼박스에서만 사용할 수 있는 전용 디스크 이미지 형식
VDI(Virtual Disk Image)
버추얼박스, Hyper-V, Xen에서 사용할 수 있는 디스크 이미지 형식
VHD(Virtual Hard Disk)
버추얼박스, VMware Player에서 사용할 수 있는 디스크 이미지 형식
VMDK(Virtual Machine Disk)
92
xinted 데몬으로 관리하면 최적인 네트워크 서비스 유형
사용자가 많지 않고 빠른 응답도 요구되지 않는 서비스
- xined 방식은 standalone 방식과 비교하여 사용자 요청에 대한 처리 시간이 느리지만, 다양한 서비스를 제한된 시스템 자원으로 운영하기에 효율적
93
VNC 서버에 접근할 때 사용할 패스워드를 설정하는 명령
vncpasswd
[오답]
VNC 서비스의 설정을 관리하고 제어하는 명령어
vncconfig
vncserver에 의해 실행되는 VNC 서버
Xvnc
94
( ) **time.bora.net**
: 리눅스 시스템의 날짜 및 시간이 맞지 않아서 원격지의 NTP 서버를 통해 시간을 설정하는 과정ntdupdate
- NTP(Network Time Protocol) : NTP 서버를 이용하여 시간을 동기화
- ntpdate :
ntpdate [서버주소]
명령 옵션으로 원격 서버와 시간을 동기화한다.-d
옵션을 이용하면 원격 서버와 시간 차이를 확인할 수 있다.
[오답]
리눅스의 날짜와 시간을 확인하는 명령어
date
원격지의 타임서버에서 시간 정보를 가져와 로컬 시스템의 시간과 동기화하는 명령어
rdate
NTP 질의 명령어로
-p
옵션으로 연결된 서버의 상태 출력ntpq
95
HTTP 상태코드
HTTP 4xx 상태코드
상태코드 설명 400 - Bad Request
- 클라이언트의 요청이 잘못됨 (문법오류)401 - Unauthorized
- 요청에 대한 권한 부족 (인증 실패)402 - Payment Required
- 결재가 필요한 요청403 - Forbidden
- 리소스에 대한 권한 없음 (인가 실패)404 - Not Found
- 존재하지 않은 리소스 요청405 - Method Not Allowed
- 지정된 방식으로 요청할 수 없음405 Not Acceptable 407 Proxy Authentication Required 408 - Request Timeout
- 요청 시간이 오래되어 연결을 끊음
96
iptables를 이용하여 192.168.10.11로부터 들어오는 패킷을 차단하는 정책을 추가
iptables -A INPUT 192.168.10.11 -j DROP
- 정책을 추가하는 옵션 :
-A
or-I [체인][라인번호]
체인 내부의 주요 옵션 항목
항목 설명 -A - --append
- 새로운 정책을 가장 마지막에 추가/등록-I [체인][라인번호] - --insert
- 지정한 라인번호에 추가-D [체인][라인번호] - --delete
- 정책을 제거-F [체인][라인번호] - --replace
- 정책 수정- 들어오는 패킷의 대상으로 하므로 INPUT 체인을 선택한다.
iptables의 filter 테이블 체인
체인 설명 INPUT 호스트를 목적지로 유입되는 패킷을 필터링하는 데 사용 OUTPUT 호스트를 출발지로 하여 나가는 패킷을 필터링하는 데 사용 FORWARD - 라우터로 사용되는 호스트를 통과하는 패킷
- 호스트 컴퓨터가 목적지가 아닌 패킷을 관리- 차단하는 정책이므로, 거부(REJECT), 제거(DROP) 정책을 설정한다. DROP은 거부 메시지 없이 거절하며, REJECT는 패킷을 허용하지 않는다는 메시지를 전송하며 거절한다.
- 정책을 추가하는 옵션 :
97
네트워크에서 공격서명을 찾아내 자동으로 조치를 취해 비정상적인 트래픽을 중단시키는 보안 침입 시스템이다. 수동적인 방어 개념의 시스템이 아닌 침입 경고 이전에 공격을 중단시키는 데에 초점을 둔 시스템이다.
침입 차단 시스템
[오답]
서버가 처리해야 할 업무 혹은 요청을 여러 대의 서버로 나누어 처리하는 것
로드 밸런싱(Load Balancing)
네트워크 패킷을 외부에서 확인할 수 있는 도구로, 와이어샤크(wireshark), tcpdump 등이 대표적
패킷 스니퍼(Packet Sniffer)
네트워크 패킷을 화면으로 표시하거나 파일로 저장할 수 있는 도구
패킷 로거(Packet Logger)
98
DoS 공격
공격자는 IP 주소를 공격 서버의 IP 주소로 위장하고 ICMP Request 패킷을 브로드캐스트를 통해 다수의 시스템에 전송한다. 이 때 브로드캐스트를 수신한 다수의 시스템은 ICMP Echo Relay 패킷을 공격자가 아닌 공격대상의 서버로 전송하게 되면서 부하를 발생시킨다.
Smurf Attack
[오답]
ICMP Echo 패킷을 정상적인 크기보다 매우 크게 전송하여 시스템의 문제를 일으키게 하는 공격 기법
Ping of Death
대량의 UDP 패킷을 전송하여 공격대상의 자원을 소모시키는 공격 기법
UDP Flooding
공격대상에 IP 패킷을 보낼 때 발신자 IP, 수신자 IP를 모두 victim의 IP로 하여 문제를 일으키게 하는 공격기법
Land Attack
99
여러 대의 공격자를 분산배치하여 동시에 서비스 공격을 함으로서 공격 대상이 되는 시스템이 정상적인 서비스를 할 수 없도록 방해하는 공격
Distributed Denial of Service
[오답]
한 번에 많은 서비스 요청을 공격 대상에 전달하며 정상적인 서비스를 할 수 없도록 방해하는 공격으로 가용성을 침해
Denial of Service
TCP 3-way handshaking의 특징을 악용하여 공격대상에게 대량의 연결요청(SYN)을 전달하는 DoS 공격 기법
TCP SYN Flooding
IP fragmentation에 따라 패킷을 재조립할 때 offset을 임의로 변조하여 문제를 일으키게 하는 공격 기법
Teardrop Attack
100
DoS(Denial of Service) 공격의 분류
파괴 공격, 시스템 자원 고갈 공격, 네트워크 자원 고갈 공격
- DoS 공격 : 한 번에 많은 서비스 요청을 공격 대상에 전달하여 네트워크 등 시스템 자원을 고갈시키고 정상적인 서비스가 불가능하도록 파괴하는 공격