리눅스마스터 1급 필기 기출문제 해설/보충설명 20150912


Cap 2016-08-16 07-29-16-070Multi-switching : 다수의 작업이 동시 실행되나 포그라운드 프로그램만 동작하는 형태

Cap 2016-08-16 07-32-09-710
처리 능력(Throughput) : 일정 시간 내에 시스템이 처리하는 일의양 
반환 시간(Turn around Time) : 시스템이 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
신뢰도(Reliability) : 시스템이 주어진 문제를 정확하게 해결하는 정도
사용 가능도(Availability) : 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도

Cap 2016-08-16 07-39-44-478

대화형 운영체제 : 시분할시스템. 일괄처리보다 반환시간이 빠르고 사용자에게 즉각적인 피드백을 제공하는 형태

Cap 2016-08-16 07-43-36-494

Cap 2016-08-16 07-44-36-975국외 리눅스 배포판 : 레드햇, 데비안, 수세, 슬렉웨어, 우분투, CentOS, 젠투, 리눅스 민트 등
국내 리눅스 배포판 : 와우, 알짜리, 미지리눅스, 다아나, 아시아눅스, SULinux, 안녕리눅스 등

Cap 2016-08-16 07-47-26-109

RAID의 종류
RAID-0
스트라이핑 기술을 사용하여 빠른 입출력 속도를 제공
데이터를 중복이나 패리티 없이 디스크에 분산하여 기록
처리속도는 빠르나 구성된 디스크 중에 하나라도 오류가 발생하면 데이터 복구가 불가능
내결함성을 기능을 제공하지 않으면서 가장 높은 용량을 제공하는 형태

RAID-1
미러링 기술을 사용하여 두개의 디스크에 데이터를 동일하게 기록
스트라이핑 기술은 사용하지 않는다.
디스크 오류시 데이터 복구능력은 탁월하지만, 중복저장으로 인한 디스크의 낭비가 50%에 이른다.

RAID-2
디스크들은 스트라이핑 기술을 사용하여 구성하고, 디스크의 에러를 감지하고 수정하기 위해 ECC정보를 사용한다.

RAID-3
스트라이핑 기술을 사용하며 패리티 정보를 저장하기 위해 별도로 하나의 디스크를 사용한다.
입출력작업이 동시에 모든 디스크에 대해 이루어지므로 입출력을 겹치게 할수 없다.
보통 대형 레코드가 많은 시스템에서 사용

RAID-4
블록형태의 스트라이핑 기술을 사용하여 디스크를 구성
단일 디스크로부터 레코드를 읽을 수 있고 데이터를 읽을때 중첩 입출력의 장점이 있다.
쓰기 작업은 패리티 연산을 해야 한고 패리티 디스크에 저장해야 하기 때문에 입출력의 중첩이 불가능하고 병목현상이 발생할 수 있다.

RAID-5
패리티 정보를 이용하여 하나의 디스크가 고장나도 사용이 가능한 구성방식으로 최소 3개의 디스크로 구성해야 한다.
디스크에 쓰기 제한 주소를 지정하므로 모든 읽기 및 쓰기가 중첩될 수 있다.

RAID-6
전체적인 구성은 RAID-5와 비슷하지만 디스크에 2차 패리티 구성을 포함하여 매우 높은 고장 대비 능력을 발휘한다.
2개의 패리티를 사용하여 2개의 디스크 오류에도 데이터를 읽을 수 있다.
2개의 패리티를 사용하여 최소 4개의 디스크로 구성해야 하여 RAID-5에 비해 공간 효율성은 떨어진다.

RAID-7
하드웨어 컨트롤러에 내장되어 있는 실시간 운영체제를 사용하여 구성하는 방식으로 속도가 빠른 버스를 이용한다.

RAID 0+1
디스크 2개를 RAID-0의 스트라이핑 기술로 구성하고 다시 RAID-1의 미러링으로 구성하는 방식으로 최소 4개의 디스크가 필요하다.

RAID-10
RAID 0+1 의 반대의 개념
디스크 2개를 먼저 미러링으로 구성하고 다시 스트라이핑 하는 방식

RAID-53
RAID-3 방식에 별도로 스트라이프 어레이(Array)를 구성하는 방식이다.
RAID-3 보다 높은 성능을 제공하지만 구성 비용이 많이 든다.

Cap 2016-08-16 07-48-54-306GRUB(grand Unified BootLoader) 
GNU 프로젝트에서 만든 부트로더로 LILO 에 비교하여 다양한 파일 시스템을 지원하고, 부팅 시에 커널 인자를 저정하여 동적인 부팅을 지원한다.

BIOS : 운영체제와 하드웨어 사이의 입출력을 담당하기 위해 저수준의 소프트웨어와 드라이버로 이루어진 펌웨어.
운영체제는 메인보드나 그래픽카드와 같은 하드웨어와 통신하기 위해 중간 매개체를 사용해야 한다. 그렇게 되면 운영체제는 세부적인 하드웨어의 구성이나 신호체계를 알 필요없이 중간 매개체와만 통신하면 된다. 이러한 중간 매개체 역할을 하는 것이 BIOS이며 이것은 하드웨어가 제조될 때 제조회사에서 하드웨어에 포함시켜 둔다.
하드웨어에 포함시켰기 때문에 전원이 없는 상태에서도 유지되야 하므로 ROM을 사용한다. 흔히 메인보드의 BIOS를 ROM BIOS라고 부른다.

Cap 2016-08-16 08-03-40-238/etc : 시스템 환경 설정 파일 및 부팅과 관련된 여러가지 스크립트 파일들이 들어 있다. 이들 파일에 설정된 내용을 읽어서 관련 프로그램들이 실행하게 된다.

Cap 2016-08-16 08-06-10-181

Cap 2016-08-16 08-07-33-928Xlib : C언어로 구현된 클라이언트 라이브러리로 X 서버와 대화를 해주는 역할을 한다. 최근 X.org에서는 XCB(X protocol C-language Binding) 로 대체하여 사용한다. XCB는 Xlib와 비교하여 향상된 쓰레딩 기능을 지원하고 확장성이 뛰어나다. 또한 라이브러리 크기가 작고 단순하며 직접 X 프로토콜에 접근도 가능하다.

Cap 2016-08-16 08-10-54-380

프로세스의 5 상태 모델
생성 : 처음 작업이 주어진 상태
준비 : 실행준비가 되어 CPU할당을 기다리는 상태
실행 : 프로세스가 처리되는 상태
대기 : 프로세스가 특정 자원을 할당받을 때까지 또는 I/O 작업이 끝날 때까지 작업이 보류되는 상태
종료 : 모든 처리가 완료 되어 사용자에게 반환되는 상태

Cap 2016-08-16 08-12-08-532 /etc/inittab
부팅과 관련된 런레벨이 정의되어 있다.
run level을 재부팅 후에도 적용하기 위해 변경해야 하는 파일

Cap 2016-08-16 08-12-43-168zlib : C로 작성된 데이터 압축 라이브러리의 일종

Cap 2016-08-16 08-14-06-484find  
현재 디텍터리에서 하위 디렉터리까지 주어진 조건을 가직 파일 및 디렉터리를 찾아서 그 경로를 출력해 주는 명령.
find -name : 주어진 이름의 파일이나 디렉터리를 찾는다.

grep
텍스트 파일에서 특정 패턴(문자열)을 갖는 줄을 찾아서 출력해 주는 명령이다.
grep -i : 검색할 때 대소문자를 구분하지 않는다.

Cap 2016-08-16 08-19-55-763Argument 변수 – 특별한 내장 변수로 ‘위치 매개 변수’ 라고도 한다. 이 변수는 매개 변수를 불러올 때 스크립트의 명령행 인자를 담당한다.
$0 : 실행된 Shell 스크립트명
$1 : 스크립트에 넘겨진 첫번째 Argument
$2 : 스크립트에 넘겨진 두번째 Argument
$# : 스크립트에 넘겨진 Argument 개수 
$$ :  Shell 스크립트의 PID
$* : 스크립트에 전달된 인자 전체를 하나의 변수에 저장하면 IFS 변수의 첫 번째 문자로 구분
$@ : $* 와 동일 (다른점은 IFS 환경변수를 사용하지 않는다.) 
$? : 실행한 뒤의 반환값. 참이면 0 거짓이면 1 이 반환
$- : 현재 Shell 이 호출될 때 사용한 옵션들

Cap 2016-08-16 08-27-37-771데이터링크 계층
신뢰성 있는 데이터 전송을 보장하기 위한 계층으로 오류 제어와 흐름 제어를 담당한다.
데이터를 전송하는 단위로 분할하는 기능 , 프레임 전달, 전송단위의 순서 제어 기능, 에러 제어 기능, 데이터 흐름 제어 기능 등을 제공한다.
네트워크의 오류 제어는 데이터를 재전송하는 방법으로 처리한다.
이 계층에서 동작하는 장치에는 브리지나 스위치 등이 있다.

Cap 2016-08-16 08-31-20-256UTD 케이블의 배열
8가닥중 실질적으로 쓰이는 선은 4개로 1, 2, 3, 6번인 ‘흰주, 주, 흰녹, 녹’ 이다.
T568B 1번과 3번 2번과 6번의 위치를 바꾸면 T568A 가 된다.
T568B 흰주 – 주 – 흰녹 – 파 – 흰파 – 녹 – 흰갈 – 갈
T568A 흰녹 – 녹 – 흰주 – 파 – 흰파 – 주 – 흰갈 – 갈

Cap 2016-08-16 08-32-55-146

Cap 2016-08-16 08-33-33-625netstat
네트워크 연결 상태를 출력하는 명령이다. 네트워크 연결 상태 이외에도 라우팅 테이블 정보, 네트워크 인터페이스 상태, 매스커레이드 연결 상태, 멀티캐스트 멤버 등의 정보를 출력한다.
-a : 모든 소켓 정보를 출력한다.
-u : UDP 프로토콜 기반으로 접속한 목록을 출력한다.
-t : TCP 프로토콜 기반으로 접속한 목록을 출력한다.
-n : 기호화된 호스트명이나 포트명 대신에 숫자값으로 표시. 예를 들면 www 대신에 80으로 출력한다.

Cap 2016-08-16 08-37-45-487ifconfig(interface config)
네트워크 인터페이스를 설정하거나 확인하는 명령이다. IP주소, 넷마스크 주소, MAC 주소 등을 설정하고 확인할 수 있다.

RX/TX : 수신 패킷수와 전송 패킷 관련 수를 나타낸다.
MTU : Maximum Transmission Unit 의 약자로 한 번에 전송할 수 있는 최대 패킷의 크기를 나타낸다. 

Cap 2016-08-16 08-41-56-047리눅스에서 사용자 권한은 root라는 아이디를 절대 권한자로 인정하는 것이 아니라 UID 와 GID를 기준으로 한다.
리눅스 시스템 내부에서는 사용자를 흔히 말하는 ID로 관리하는 것이 아나라 숫자값 형태의 UID로 관리한다.
사용자의 UID는 0번부터 정수 값으로 부여되는데, root는 0이 할당되고 0번 사용자를 슈퍼유저로 인식한다.
일반 사용자도 root처럼 UID와 GID를 0으로 바꾼다면 슈퍼유저로 전환된다. 

Cap 2016-08-16 08-44-25-531

/etc/skel/
useradd가 새로운 계정을 생성할때 /etc/skel/ 디렉토리의 내용들이 사용자의 홈디렉토리로 자동 복사된다.

Cap 2016-08-16 08-44-57-818usermod
사용자의 Shell, 홈 디렉터리, 그룹, UID, GID 등을 변경하는 명령어로 사용자 관련하여 대부분의 정보를 변경할 수 있다.
usermod -l : 사용자의 아이디를 변경한다.

Cap 2016-08-16 08-47-13-126gpasswd
그룹의 패스워드를 설정하거나 그룹관리자를 지정하는 명령어이다.
-A : root가 그룹 관리자를 지정할 때 사용한다.
-a : 그룹 관리자가 그룹에 사용자를 추가할 때 사용한다.

Cap 2016-08-16 08-49-44-786w : 시스템에 로그인되어 있는 사용자와 사용자가 수행중인 작업을 출력해 주는 명령이다.

Cap 2016-08-16 08-51-27-940

Cap 2016-08-16 08-52-06-884파일 링크 – 리눅스에서 파일이나 디렉터리를 생성하면 I-node(Index node) 라는 번호가 임의로 부여되고 이 번호를 기준으로 관리된다. 이번호는 ls -i 명령으로 환인할 수 있는데 파일명이 다르더라도 이번호가 같다면 내부적으로 같은 파일로 인식된다.
ln – 하나의 심볼릭 링크를 생성하는 명령이다. 명령 실행시 옵션 없이 사용하면 하드 링크가 생성되고 -s 옵션을 사용하면 심볼릭 링크를 생성한다.
$ ln -s joon.txt j
joon.txt 라는 파일의 심볼릭 링크 파일인 j를 현재 디렉터리에 생성한다.

Cap 2016-08-16 08-56-39-467/etc/fstab
이 파일은 파일 시스템에 대한 다양한 정보를 담고 있는 파일로 부팅 시에 마운트할 파티션 정보가 기록되어 있는 파일이다. 파티션 정보를 변경하거나 디스크를 추가한 경우 이파일에 등록해야만 부팅 시에 자동으로 마운트할 수 있다.

fstab 의 필드 구성
첫 번째 – 장치명이 기록되는 영역이었으나 최근 배포판 리눅스에서는 볼륨 라벨(Volume Lable) 이나 UUID 가 대신 사용되고 있다.
두 번째 – 마운트될 디렉터리(Mount point) 를 나타낸다.
세 번째 – 파일 시스템 유형을 나타낸다.
네 번째 – 마운트될 때의 옵션을 나타낸다.
다섯 번째 – dump 명령을 통한 백업 시 레벨 덤프 사용 주기를 결정하는 부분으로 0 이면 dump 를 사용하지 않고 1 이면 매일 수행, 2 이면 이틀에 한번 수행한다.
여섯 번째 – 부팅 시 파일 시스템을 점검하는 fsck 명령의 순서를 정한다. 

Cap 2016-08-16 09-03-53-491

Cap 2016-08-16 09-07-06-716cat(concatenate)
표준입력으로 받는 값을 표준출력으로 이어주는 명령으로 기본적으로는 텍스트 파일의 내용을 출력한다.
-b : 텍스트 파일 출력할 때 행번호를 붙여준다.(공백만 있는 줄 제외)
-n : 텍스트 파일 출력할 때 행번호를 붙여준다.(공백만 있는 줄 포함)
-A : -vET 옵션을 통합한 옵션으로 일반적으로 출력되지 않는 모든 문자를 출력해 준다.

Cap 2016-08-16 09-28-28-328/proc 
/proc 는 일종의 가상 파일 시스템으로 시스템에 동작 중인 프로세스의 상태 정보와 기타 시스템 하드웨어 정보를 확인할 수 있다. 사용자가 ps 명령어를 사용해 프로세스에 대한 정보를 확인할 때 이 디렉터리에 저장된 정보를 출력한다.
보통 새로운 프로세스가 생성되면 /proc 디렉터리 안에 PID 와 동일한 서브 디렉터리가 생성되고 그안에 해당 프로세스에 관한 정보가 저장된다.
/proc/partitions : 현재 활성화된 파티션 정보를 기록하고 있는 파일이다.

Cap 2016-08-16 09-37-21-294crontab
사용자가 주기적인 작업을 등록하기 위해 사용하는 명령으로 실행하면 vi 편접기가 실행된다.
/etc/cron.allow 파일과 /etc/cron.deny 파일로 cron 사용자를 제한할 수 있다. 
/etc/cron.allow 파일이 존재하는 경우에는 /etc/cron.deny 파일 존재 유무에 상관없이 /etc/cron.allow 파일에 등록된 사용자만 가능하다.
/etc/cron.allow 파일이 존재하지 않고 /etc/cron.deny 파일만 존재하는 경우에는 /etc/cron.deny 파일에 등록된 사용자만 사용이 불가능하다.
/etc/cron.allow 파일과 /etc/cron.deny 파일이 모두 존재하지 않는 경우에는 root만 사용 가능하다.

Cap 2016-08-16 09-44-08-613top : 동작중인 프로세스의 상태를 실시간으로 화면에 출력해 주는 명령으로 프로세스의 상태뿐만 아니라 CPU, 메모리, 부하 상태 등도 확인할 수 있다.

Cap 2016-08-16 10-08-22-097nice : 프로세스의 우선순위를 변경하는 명령으로 NI값을 설정할 때 사용한다. 프로세스에 설정되어 있는 NI의 기본값은 0 이고 지정가능한 값의 범위는 -20 ~ 19 까지인데 값이 작을수록 우선순위가 높다. 일반 사용자는 NI값을 증가만 가능하고 root 사용자만이 NI 값을 감소시켜 우선순위를 높일 수 있다.

Cap 2016-08-16 10-14-04-227

Cap 2016-08-16 10-16-01-904RPM(Red Hat Package Manager)
레드햇사에서 만든 패키지 관리기법으로 프로그램을 .rpm 형태의 파일로 배포하고, rpm 명령을 사용하여 손쉽게 설치, 갱신, 제거, 검증, 질의 등의 관리를 할 수 있다.

-q : 질의시 꼭 사용해야 하는 옵션. 패키지를 찾으면 이름과 버전만 표시.
-f 파일명 : 지정한 파일을 설치한 패키지 이름을 출력한다.

Cap 2016-08-16 10-19-40-544yum (Yellowdog Updater, Modified )
rpm기반의 시스템에서 패키지를 손쉽게 설치해 주고 자동으로 업데이트를 수행하는 명령행 기반의 유틸리티이다.

command(명령)
list – 전체 패키지에 대한 정보를 출력
info – 패키지에 대한 정보를 출력
check – update 업데이트가 필요한 패키지를 출력
update – 패키지를 업데이트할 때 사용
install – 패키지를 설치할 때 사용
search – 문자열이 포함된 패키지를 찾아준다.
remove – 패키지를 삭제할 때 사용한다.

Cap 2016-08-16 10-30-39-380

Cap 2016-08-16 10-31-10-694

tar(tape archive)
테이프 관련 장치를 이용하여 백업할 때 사용하는 명령이었으나 현재는 여러 파일들을 하나의 파일로 묶어주는 명령으로 사용한다.

-Z : compress 관련 옵션으로 예전 UNIX 계열 표준 압축 파일인 tar.Z 에 사용한다.
-J : xz 관련 옵션으로 압축 파일인 tar.xz 에 사용한다.
-z : gzip 관련 옵션으로 압축 파일인 tar.gz 에 사용한다.
-j : bzip2 관련 옵션으로 압축 파일은 tar.bz2 에 사용한다.

Cap 2016-08-16 10-32-05-808compress : 유닉스에서 사용했던 압축 프로그램. 리눅스에서는 압축률이 낮아 현재는 거의 쓰이지 않는다. 압축 해제는 uncompress
gzip : GNU 에서 만든 압축 프로그램으로 유닉스용 압축 프로그램인 compress 를 대체하기 위해 만들어졌다. 압축 해제는 gunzip
bzip2 : gzip 보다 압축률은 좋지만 시간이 더 걸린다. 압축 해제는 bunzip2
xz : 데이터 무손실 압축 프로그램. gzip, bzip2 와 비교하여 매우높은 압축률을 자랑한다. 압축해제는 unxz

Cap 2016-08-16 10-37-24-317플러그 앤 플레이 (PnP)
새로운 장치를 컴퓨터에 집어 넣었을 때, 컴퓨터가 그 장치를 자동으로 인식할 수 있는 능력을 주는 표준이다.
컴퓨터 실행 중에 주변 장치를 부착해도 별다른 설정 없이 작동함을 뜻한다. 

Cap 2016-08-16 10-38-44-443

lsmod : 적재된 모듈 출력

insmod : 모듈 적재, 커널 디렉토리를 뒤져서 해당 모듈을 적재한다.
rmmod : 모듈 삭제
modprobe : 모듈적재 depmod에 의해 갱신된 modules.dep에서 찾아 적재한다.
insmod와 달리 해당 커널 디렉토리로 갈 필요없이 아무위치에서나 모듈을 적재할 수 있다.
또한 의존성이 필요한 모듈이나 먼저 실행되어야 할 모듈이 있다면 그 모듈부터적재하고 해당모듈을 적재한다.

Cap 2016-08-16 10-41-33-204/etc/fstab
이 파일은 파일 시스템에 대한 다양한 정보를 담고 있는 파일로 부팅 시에 마운트할 파티션 정보가 기록되어 있는 파일이다. 파티션 정보를 변경하거나 디스크를 추가한 경우 이파일에 등록해야만 부팅 시에 자동으로 마운트할 수 있다.

Cap 2016-08-16 10-44-35-347SANE(Scanner Access Now Easy) : SANE 은 평판 스캐너, 핸드 스캐너, 비디오 캠 등 이미지 관련 하드웨어를 사용할 수 있도록 해주는 API 이다.

Cap 2016-08-16 10-50-02-833lpr : 프린터 작업을 요청하는 명령
lpq : 프린터 큐(Queue) 에 있는 작업의 목록을 출력는 명령
lprm : 프린터 큐에 대기중인 작업을 삭제하는 명령
lpc : 라인 프린터 컨트롤 프로그램 으로 프린터나 프린터 큐를 제어할 때 사용.
lp : System V 계열에서 사용하는 인쇄 명령으로 BSD 계열의 lpr 명령과 유사하다.
lpstat : 프린터 큐의 상태를 출력 해주는 명령 

Cap 2016-08-16 10-51-19-284lpr
프린터 작업을 요청하는 명령
# cat test.txt | lpr
cat 명령과 파이프를 이용하여 출력할 수 있다. 참고로 직렬 포트에 직접 프린터가 연결된 경우에는 장치 파일명과 리다이렉션 기호를 사용해 출력할 수 있다. # cat text.txt > /dev/lp0

Cap 2016-08-16 10-54-23-952/proc/filesystems : 커널에 설정된 파일 시스템의 리스트 정보를 담고 있다. 

Cap 2016-08-16 10-56-27-327모듈 관련 설정 파일 : 리눅스 커널 2.4 버전에서는 부팅 시에 특정 모듈을 커널에 적재할 때 /etc/modprobe.conf 파일에 등록해서 사용하였지만 커널 2.6버전부터는 /etc/modprobe.d 디엑터리 안에 .conf 로 끝나는 모든 파일을 인식힌다.

Cap 2016-08-16 10-57-34-937make mrproper : 커널 소스의 설정값 초기화
make config : 텍스트 기반의 설정 도구로 터미널 환경에서 y, m, n으로 설정한다.
make menuconfig : 텍스트 기반의 컬러 메뉴를 제공하고 커서를 이용해서 이동이 가능하다.
make noconfig : 텍스트 기반의 컬러 메뉴를 제공하고 커서와 [F1]~[F9] 까지의 기능키를 제공하는 도구
make xconfig : X 윈도 환경의 Qt 기반의 설정도구
make gconfig : X 윈도 환경의 Gtk 기반의 설정도구

Cap 2016-08-16 10-58-59-202커널 컴파일 순서
커널 소스 파일 압축해제 > 커널 소스의 설정값 초기화(make mrproper) > 커널 컴파일 옵션 설정 작업(make menuconfig) > 커널 이미지 파일 생성 작업(make bzimage) > 커널 모듈 생성을 위한 컴파일 작업(make modules) > 커널 모듈 설치 작업(make modules install) > 커널 모듈 파일 복사, grub.conf 파일 수정(make install) > 새로운 커널 사용을 위한 시스템 재부팅

Cap 2016-08-16 11-03-34-774 auth 와 authpriv는 비슷하지만 조금 차이가 있다. 
auth는 원격서비스 접속기록을 남기며 
authpriv 는 su 명령어 사용기록, 로그인 성공 및 실패여부의 기록을 남긴다. 

Cap 2016-08-16 11-12-26-838logrotate : 로그 파일은 계속적으로 덧붙여지면서 샇이는 형태라 파일의 크기도 계속 커지게 된다. 이를 방지하기 위해서 로그 파일을 여러개로 분할해 주는 프로그램이 logrotate 이다. 로그파일의 자동 로테이션 기능, 압축 기능, 제거 등을 지원한다. 각각의 로그파일은 하루, 일주일, 한달 단위로 로테이션을 할 수 있다. 현재 리눅스에서는 cron 에 의해 스케줄링 되어 실행되고 있다.

Cap 2016-08-16 11-16-32-734/var/log/secure : 인증에 기반한 접속과 관련된 로그가 기록되는 파일
/var/log/xferlog : FTP 접속과 관련된 작업이 기록되는 파일

Cap 2016-08-16 11-18-27-529로그 관련 명령어
last : 사용자의 로그인 정보, 재부팅한 정보를 출력해 주는 명령으로 바이너리 파일인 /var/log/wtpm 의 내용을 출력한다.
lastlog : 사용자가 마지막으로 로그인한 정보를 출력해 주는 명령으로 바이너리 파일인 /var/log/lastlog 의 내용을 출력한다.
lastb : last와 반대되는 개념의 명령으로 로그인에 실패한 정보를 출력해 주는 명령으로 바이너리 파일인 /var/log/btmp 의 내용을 출력한다. root 만 사용가능.

Cap 2016-08-16 11-19-35-956

Cap 2016-08-16 11-42-12-478sysctl  
커널 변수의 값을 제어하여 시스테을 최적화할 수 있는 명령이다.

-n : 특정 매개 변수에 대한 값을 출력할 때 사용한다.
-w 변수= 값 : 매개 변수에 값을 설정한다.

사용법 
# sysctl [option] qustn=값

/proc/sys/net/ipv4_echo_ignore_all
ping 과 같은 ICMP 패킷에 대한 응답 여부를 결정하는 매개 변수로 값이 0이면 응답을 하고 1이면 응답을 하지 않는다.

Cap 2016-08-16 11-51-47-816SELinux(Security Enhanced)
오픈 소스인 리눅스 커널의 보안을 강화하기 위해 미국의 NSA 에 의해 연구된 프로젝트. 주목적은 특정 데몬의 버그를 통해 root 권한을 획득하더라도 해당 데몬에만 root 권한을 행사할 뿐 다른 데몬이나 시스템에는 접근이 불가능하도록 하여 시스템의 보안을 강화하는데 있다. 
기본적인 적용 확인 및 변경은 /etc/selinux/config 에서 vi 편집기 등을 이용한다. Shell 에서는 getenforce(확인) 및 setenforce(설정) 명령으로 확인 및 설정이 가능하다.

Cap 2016-08-16 12-00-48-059/etc : 시스템 환경 설정 파일 및 부팅과 관련된 여러가지 스크립트 파일들이 들어 있다.
/usr : 시스템 운영에 필요한 명령, 응용 프로그램들이 위치하는 디렉터리이다. 터널 소스, C언어 헤더파일, C-컴파일러와 같은 개발 도구, X-window, 리눅스에서 서버 관리를 위해 사용하는 아파치나 mysql, php 등이 모두 이 디렉터리의 하위 디텍터리에 설치된다.
/var : 시스템 운영 로그 파일과 스풀링과 같은 가변적인 데이터를 보관하는 디렉터리이다. 

/sys : 시스템이 필요로 하는 파일들이 있다.

Cap 2016-08-16 12-08-50-147
증분 백업
-g 는 증분 백업에 사용하는 옵션으로 list 라는 파일의 내용을 토대로 증분 백업을 시도하는데, 처음 사용하는 겅우에는 전체 백업을 한다.

Cap 2016-08-16 12-11-22-758dd(data dumper) 파티션이나 디스크 단위로 백업할 때 사용하는 유틸리티로 사용하기는 쉬우나 많은 시간이 소요된다.

Cap 2016-08-16 12-13-30-841

Cap 2016-08-16 12-14-45-925

HTTP 상태코드

200 OK
클라이언트 요청에 성공적으로 접속

400 Bad Request

403 Forbidden

404 Not Found

500 server error

Cap 2016-08-16 12-15-04-395Apache 2.2 웹 서버 설정
1. extra 디렉터리 안의 파일

2. httpd.conf – 아파치 웹 서버의 기본적인 설정을 담당하는 파일.
ServerRoot “/usr/local/apache” : 웹 서버가 설치된 디렉터리를 나타낸다.
Listen 80 : 아파치 웹 서버의 포트를 설정한다.
DocumentRoot “/usr/local/apache/htdocs” : 웹 문서가 위치하는 디렉터리를 나타낸다.

3.httpd-userdir.conf

….

Cap 2016-08-16 12-18-38-083DocumentRoot “/usr/local/apache/htdocs” : 웹 문서가 위치하는 디렉터리를 나타낸다.

Cap 2016-08-16 12-26-02-627cmake
cmake는 소스 컴파일 시 사용되는 Make의 대체프로그램으로 멀티플랫폼을 지원하기 위한 목적으로 등장한 오픈소스 프로젝트이다.
cmake를 사용하는 대표적인 프로그램에는 mysql이 있는데, configure와 meke 작업을 cmake로 통합해서 설치 가능하다.

Cap 2016-08-16 12-40-58-236

Cap 2016-08-16 12-41-28-388LDAP
경량 디텍터리 접근 규약. 디렉터리 데이터베이스에 접속하기 위한 통신 규약.
o : 조직 이름
ou : 조직의 부서 이름
cn : 일반적으로 이름과 성의 조합
sn : 성을 나타냄

Cap 2016-08-16 12-43-15-762ypwhich : NIS 서버명을 출력
ypcat : NIS 클라이언트에서 사용하는 명령어로 NIS 서버의 데이터베이스라고 할 수 있는 맵 파일의 내용을 확인하는 명령이다.

Cap 2016-08-16 12-44-29-516

정보 갱신을 위한 make 작업을 수행하면 /var/yp 디렉터리에 지정한 nis 서버 이름으로 된 디렉터리가 생성된다. 그 디렉터리 안에 관련 정보를 가지고 있는 맵 파일들이 생성되는데, 서버에서 사용자들이 새롭게 추가되면 해당 맵 파일들도 지속적으로 갱신시켜줘야한다.

Cap 2016-08-16 12-52-55-541NIS 서버와 nisdomain 설정
/etc/yp.conf 파일에 NIS 서버 및 도메인명을 지정한다.

Cap 2016-08-16 12-58-32-772
smb.conf
삼바 서버의 환경 설정 파일.
#으로 시작하는 행 : 이 행은 주석으로 간주되어 무시된다.
; 으로 시작하는 행 : 이 행도 주석으로 간주되어 무시된다.
[ ]을 사용하는 행 : 섹션을 정의하는 역할을 하고 하나의 섹션이 정의된 후 그 다음 섹션이 정의될 때까지의 행들은 해당 섹션에 속한다.
name = value 행 : 사용하는 옵션과 해당 값을 설정하는 행이다.

Cap 2016-08-16 13-02-58-329smbpasswd
삼바 사용자를 생성 및 삭제, 패스워드 변경, 활성 및 비활성화 등 관련 정보를 변경하는 명령이다.
-a : 삼바 사용자를 추가할 때 사용한다. 
-x : 삼바 사용자를 제거할 때 사용한다.
-d : 삼바 사용자를 일시적으로 비활성화할 때 사용한다.
-e : 삼바 사용자를 활성화할 때 사용한다.
-n : 패스워드 없이 로그인이 가능하도록 할 때 사용한다.

Cap 2016-08-16 13-07-59-181root_squash : NFS 클라이언트에서 접근하는 root 사용자를 무시하고 서버상의 nobody( 또는 nfsnobody) 로 매핑시키는 옵션으로 기본값이다.
no_root_squash : NFS 클라이언트에서 접근하는 root 사용자를 무시하지 않고 root 로 인정한다.
all_squash : root 를 포함하여 모든 사용자의 권한을 nobody( 또는 nfsnobody) 로 매핑시킨다.

Cap 2016-08-16 13-09-58-765exportfs : NFS 서버에 익스포트된 디렉터리 정보를 관리 해주는 명령이다.

Cap 2016-08-16 13-10-45-882/etc/vsftpd/vsftpd.conf : vsftpd 의 환경 설정 파일.

chroot_local_user=YES
접속한 사용자의 홈 디렉터리를 최상위 디렉터리로 지정한다. 모든 접속자에게 적용된다.

Cap 2016-08-16 13-13-38-222

SNMP (Simple Network Management Protocol)
간이 망 관리 프로토콜. 네트워크 장비를 관리 감시하기 위한 목적으로 UDP 상에 정의된 응용 계층 표준 프로토콜.
네트워크 관리자가 네트워크 성능을 관리하고 네트워크 문제점을 찾아 수정하는데 도움을 준다.

Cap 2016-08-16 13-16-01-904그놈의 공식 개인 정보 관리자

Cap 2016-08-16 13-17-34-779/etc/mail/sendmail.mc
sendmail의 매크로 설정 파일로 sendmail.cf 파일이 삭제되었거나 복원할 경우에 m4 라는 매크로 프로세서를 이용하여 새롭게 생성할 수 있다.

Cap 2016-08-16 13-18-40-421Virtusertable (가상 메일 설정) : 한대의 서버에서 여러개의 도메인에 대해서 webmaster등의 메일ID를 도메인별로 사용할수 있도록 함.

Cap 2016-08-16 13-26-00-150

Cap 2016-08-16 13-26-27-479Caching Name Server : 관리하는 도메인 없이 리졸빙만을 제공하기 위해 구성하는 서버이다. 도메인에 대한 리졸빙 결과를 저장하고 서버에 기록된 정보에 대한 요청이 들어올 경우에 직접 조회하지 않고 바로 응답해 주는 역할을 수행한다. 인터넷 사용 속도를 높이기 위해 사용되기도 한다.

Cap 2016-08-16 13-28-52-535RHEL 4 버전부터는 보안 강화를 위해 bind-chroot 패키지를 추가로 설치할 수 있는데 이 패키지를 설치하게 되면 주요 항목의 위치가 다음과 같이 변경된다.
환경 설정 파일
기본 패키지 설치시 : /etc/named.conf 
bind-chroot 설치시 : /var/named/chroot/etc/named.conf

존(zone) 파일 위치
기본 패키지 설치시 : /var/named
bind-chroot 설치시 : /var/named/chroot/var/named

Cap 2016-08-16 13-35-12-968

/etc/named.conf 파일
파일의 구성은 크게 주석문과 구문으로 구성되어 있다.
주석은 C에서 사용하는 /* */, C++ 에서 사용하는 //, 유닉스 계열에서 사용하는 # 등 모두 사용 가능하다.
각 구문은 중괄호 {} 로 둘러싸고 끝날 때는 세미콜론(;) 을 사용한다.

Cap 2016-08-16 13-35-49-718acl 구문 : 여러 호스트를 하나의 명칭으로 지정할 때 사용한다.

Cap 2016-08-16 13-44-25-448A : IPv4의 주소를 기입할 때 사용
AAAA : IPv6의 주소를 기입할 때 사용

Cap 2016-08-16 13-45-05-181

Cap 2016-08-16 13-45-28-390

Cap 2016-08-16 13-46-05-433OpenStack : 퍼블릭 및 프라이빗 클라우드 구축을 위한 확장형 오픈 플랫폼

Cap 2016-08-16 13-46-34-867virsh : 가상 머신을 관리해 주는 도구로서 생성, 상태정보 출력, 일시정지, 종료 등의 기능을 제공한다.

Cap 2016-08-16 13-47-34-621

xinetd
xinetd 데몬에 의해 실행
xinetd 를 거쳐서 해당 서비스를 실행하기 때문에 standalone 보다 느림
tcp_wrapper 에 의해서 접근제어됨
효율적인 자원 사용

disable = no : 해당 서비스의 실행 유무를 지정하는 항목.
no 로 설정하면 서비스를 사용. yes 로 설정하면 해당 서비스를 사용하지 않는다.

Cap 2016-08-16 13-54-07-839access_time : 지정된 시간에만 서비스를 이용할 수 있게 설정하는 항목이다.

Cap 2016-08-16 13-55-26-871프록시(Proxy)
프록시 서버란 보통 네트워크 속도가 느린 환경에서 보다 빠른 인터넷을 이용하기 위해 사용한다.
프록시 서버는 자주 방문하는 사이트의 정보를 저장하는 일종의 캐시(Cache) 서버로서 사용자들이 동일한 사이트를 접속할 경우에 서버에 저장된 제이터 정보를 전달함으로서 처리 속도를 높일 수 있다. 

리눅스에서 프록시 서버 프로그램으로 squid 를 주로 사용한다.

http_port 3128 : squid 프록시 서버의 포트 번호를 지정하는 항목으로 기본 포트값은 3128번이다.

Cap 2016-08-16 14-00-03-282DHCP(Dynamic Host Configuration Protocol) 
클라이언트에게 자동으로 IP주소, Gateway 주소, Name Server 주소 등을 할당해주는 서버를 말한다.

range : 클라이언트에게 할당할 IP주소를 시작 주소와 마지막 주소를 기입하여 설정한다.

Cap 2016-08-16 14-02-56-413VNC(Virtual Network Computing, 가상 네트워크 컴퓨팅) : 컴퓨터 환경에서 RFB 프로토콜을 이용하여 원격으로 다른 컴퓨터를 제어하는 그래픽 데스크톱 공유 시스템

Cap 2016-08-16 14-03-28-680

Cap 2016-08-16 14-03-53-226creat() : 디스크 자원 고갈 
malloc() : 메모리 자원 고갈
fork() : 프로세스 자원고갈

Cap 2016-08-16 14-09-10-475Suricata
2009년 미국 국토안보부가 자금을 제공하여 설립한 OISF 이 2010년에 Snort 의 대안으로 개발한 공개형 IDS 및 IPS 프로그램이다. Snort 를 근간으로 개발되어 Snort와 내부 동작 방식이 유사하고 기존의 Snort 룰관도 호환된다.

Cap 2016-08-16 14-13-48-460PAM은 사용자를 인증하고 그 사용자의 서비스에 대한 접근을 제어하는 모듈화된 방법을 말한다.
응용 프로그램들에게 사용자 인증방법을 선택할 수 있는 공유 라이브러리의 묶음을 제공한다.

iptables : 패킷 필터링 도구로서 방화벽 구성이나 NAT에 사용된다.

xinetd : IP 주소 당 접속 수 제한, 시간대별 서비스 제한, DoS 공격에 대비한 설정 등이 제공된다.

Cap 2016-08-16 14-18-25-180iptables
패킷 필터링 도구로서 방화벽 구성이나 NAT에 사용된다.

ACCEPT – 패킷을 허가하는 것으로 본래 라우팅 대로 진행
DROP – 패킷을 거부하는 것으로 더 이상 어떤 처리도 수행되지 않고 버림
LOG – 패킷을 syslog 에 전달하여 기록.
REJECT – 패킷을 버리고 동시에 적당한 응답 패킷을 전달
RETURN – 호출 사슬 네에서 패킷 처리를 계속 진행