아이디저장

[IT HOLIC series]CentOS7으로 리눅스 핵심 이해하기
9791162890004 \32,000
2018-03-30 190*260
724 p
정성재, 배유미, 신병웅, 박정수, 신준희, 이광용
 

리눅스는 공개 소프트웨어라는 특징으로 인해 다양한 배포판이 등장하게 되었고, 사용 분야도 서버, 데스크톱 및 개발, 임베디드 기기 등 다양하게 활용되고 있다. 특히 서버 분야에서는 리눅스 운영체제가 유닉스를 대체하면서 시장을 주도하고 있다. 수많은 리눅스 배포판중에서 서버 분야를 선도한 리눅스를 고른다면 레드햇 리눅스(Red Hat Linux)를 손꼽을 수 있다. 특히 레드햇은 유료 배포판인 Red Hat Enterprise Linux(이하 RHEL)를 출시하고 리눅스 커뮤니티인 fedora 프로젝트를 후원하고 있다.
본 교재에서 다루는 CentOS는 RHEL의 복제판(Clone)으로 커뮤니티 형식으로 운영되던 리눅스이었다. 그러나 2014년 1월에 레드햇에서 CentOS 프로젝트를 흡수하고 직접 운영하면서 안정성과 신뢰성이 높아진 상태이다. CentOS는 리눅스 시스템 엔지니어나 서버 관리자를 희망하는 사람에게는 무료로 손쉽게 구할 수 있는 리눅스이다. 특히 상용 버전인 RHEL과 거의 동일한 환경에서 다양한 실습을 해볼 수 있다는 것이 큰 장점이라고 볼 수 있다.
본 교재는 CentOS 7 버전을 기반으로 리눅스에 대해 전반적으로 이해하고, 많이 사용되고 있는 웹, 메일, DNS, FTP 서버 등을 직접 구축해보는 것에 초점을 맞추었다.

정성재
· 한남대학교 컴퓨터공학과 공학박사
· (주)엔버 기업부설연구소장
· 한남대학교 컴퓨터무인기술학과 겸임교수
· 한국정보통신진흥협회 전문위원(리눅스마스터, 모바일앱개발전문가)
· 전 한국정보통신진흥협회 자문위원(자문PM)
· 전 한남대학교 국제IT교육센터 전임강사

배유미
· 한남대학교 컴퓨터공학과 공학박사
· 한남대학교 초빙교수

신병웅
· DellEMC Systems Engineer
· 한국정보통신진흥협회 전문위원(리눅스마스터)
· 전 HPE(Hewlett Packard Enterprise) Technical Consultant

박정수
· 숭실대학교 정보과학대학원 소프트웨어공학석사
· 코오롱베니트(주) S/W Tech팀 과장
· 한국정보통신진흥협회 전문위원(리눅스마스터)

신준희
· 한국레드햇 솔루션 아키텍트
· 한국정보통신진흥협회 전문위원(리눅스 마스터)
· 전 리눅스데이타시스템 MA팀 팀장
· 전 한국IBM Linux 외주 전임강사

이광용
· 한남대학교 컴퓨터공학과 졸업
· (주)엔버 대표이사
· 전 (주)KTmhows 플랫폼개발본부장
· 전 (주)코콤 서버개발팀 팀장(선임연구원)

PART01_리눅스의 이해
Chapter01 리눅스의 이해
1.1 운영체제의 개요
1.1.1 운영체제의 이해
1.1.2 운영체제의 종류
1.2 리눅스의 역사와 철학
1.2.1 리눅스의 탄생과 역사
1.2.2 리눅스 배포판
1.2.3 리눅스 등장에 영향을 준 요소와 관련 용어
1.2.4 리눅스의 철학
1.2.5 리눅스와 주요 라이선스(License)
1.3 리눅스의 특징
1.3.1 리눅스의 특징
1.3.2 리눅스의 단점
1.3.3 리눅스의 기술적인 특징
1.3.4 리눅스 디렉터리 종류와 특징
1.3.5 리눅스 활용분야
Chapter02 리눅스 설치
2.1 리눅스 설치
2.1.1 리눅스 설치의 개요
2.1.2 리눅스 설치를 위한 하드웨어 정보 파악
2.1.3 리눅스 설치하기
2.2 파티션
2.2.1 파티션의 개요
2.2.2 디스크와 장치명
2.2.3 파티션의 종류
2.2.4 파티션과 장치명
2.2.5 파티션 분할
2.2.6 파티션 확인
2.3 시스템의 시작과 종료
2.3.1 부트 매니저와 GRUB
2.3.2 부팅(Booting)
2.3.3 systemd
2.3.4 시스템 종료(Shutdown)

PART02_리눅스 명령어
Chapter01 디렉터리 및 파일 관리
1.1 리눅스 명령어의 개요
1.1.1 리눅스 명령어의 분류
1.1.2 명령어 검색
1.1.3 명령어 사용법
1.1.4 리눅스 도움말
1.2 디렉터리 및 파일
1.2.1 디렉터리 관련 명령어
1.2.2 파일 관련 명령어
1.2.3 텍스트 파일 관련 명령어(I)
1.2.4 텍스트 파일 관련 명령어(II)
1.2.5 텍스트 파일 관련 명령어(III)
1.2.6 파일 비교 명령어
Chapter02 사용자 생성 및 계정 관리
2.1 사용자 관리
2.1.1 사용자(User)의 개요
2.1.2 사용자 생성 명령어
2.1.3 사용자 관련 파일
2.1.4 사용자 계정 관리 및 삭제
2.1.5 사용자 패스워드 관리
2.2 그룹 관리
2.2.1 그룹의 개요
2.2.2 그룹(Group)의 조회
2.2.3 그룹 관리 명령어
2.3 사용자 조회 및 기타 명령어
2.3.1 사용자 조회 명령어
2.3.2 사용자 간 메시지 전송 명령어
2.3.3 기타 명령어
Chapter03 파일 시스템 관리
3.1 권한의 개요
3.1.1 소유권과 허가권
3.1.2 특수 권한
3.1.3 소유권 및 허가권 관련 명령어
3.2 파일 시스템의 관리
3.2.1 파일 시스템의 이해
3.2.2 리눅스의 파일 시스템
3.2.3 파일 시스템 관련 명령어
3.2.4 파일 시스템 관련 파일 및 명령어
3.2.5 스왑(Swap) 생성
3.2.6 Disk Quota
3.2.7 파일 링크(Link)
Chapter04 프로세스 관리
4.1 프로세스의 개요
4.1.1 프로세스의 개념 및 종류
4.1.2 시그널과 데몬
4.2 프로세스 유틸리티
4.2.1 프로세스 관련 명령어
4.2.2 프로세스의 제어
Chapter05 소프트웨어 설치 및 관리
5.1 프로그램 설치의 개요
5.1.1 프로그램 설치의 개요
5.1.2 소스 파일을 이용한 설치
5.1.3 패키지 파일을 이용한 설치
5.2 소프트웨어 설치 및 관리
5.2.1 tar와 압축 관련 유틸리티
5.2.2 rpm 사용법
5.2.3 yum 사용법

PART03_리눅스 사용하기
Chapter01 편집기
1.1 편집기의 개요
1.1.1 리눅스 편집기
1.1.2 주요 리눅스 편집기 소개
1.2 vi 편집기
1.2.1 vi 편집기 시작하기
1.2.2 vi 편집기 사용법
Chapter02 셸(Shell)
2.1 셸의 이해
2.1.1 셸의 개념 및 특징
2.1.2 셸의 확인과 변경
2.1.3 셸 변수와 환경 변수
2.2 셸 사용하기
2.2.1 bash의 주요 기능
2.2.2 bash 관련 파일 및 디렉터리
2.2.3 셸에서 사용되는 특수 문자
2.3 Shell Programming
2.3.1 셸 프로그래밍의 개요
2.3.2 셸 프로그래밍 문법
Chapter03 X 윈도
3.1 X 윈도의 개요
3.1.1 X 윈도의 개념 및 특징
3.1.2 X 윈도 설치와 실행
3.1.3 데스크톱 환경
3.1.4 윈도 매니저(Window Manager)
3.1.5 웨일랜드(Wayland)
3.2 X 윈도 활용
3.2.1 원격지에서 X 클라이언트 이용(1)
3.3.2 원격지에서 X 클라이언트 이용(2)
3.2.3 X 윈도 주요 응용 프로그램

PART04_하드웨어와 네트워크 관리
Chapter01 하드웨어 관리
1.1 장치의 설치 및 관리
1.1.1 모듈(Module)
1.1.2 커널(kernel)
1.2 주변장치 관리
1.2.1 디스크 확장
1.2.2 프린터
1.2.3 사운드 카드
1.2.4 스캐너
Chapter02 리눅스 네트워크
2.1 네트워크의 기초
2.1.1 네트워크 개요와 통신망의 종류
2.1.2 네트워크 장비
2.1.3 프로토콜(Protocol)
2.1.4 IP 주소와 도메인
2.2 인터넷 서비스의 종류
2.2.1 인터넷 서비스의 종류 및 특징
2.2.2 인터넷 서비스의 사용
2.3 네트워크 설정
2.3.1 리눅스 네트워크 설정
2.3.2 인터넷 접속을 위한 설정
2.3.3 관련 명령어
2.3.4 네트워크 관련 파일 및 디렉터리

PART05_리눅스 관리하기
Chapter01 로그 관리 및 시스템 백업
1.1 시스템 로그 분석 및 관리
1.1.1 rsyslog
1.1.2 로그 파일 관리: logroate
1.1.3 로그 관련 파일
1.2 시스템 백업
1.2.1 시스템 백업의 개요
1.2.2 시스템 백업 관련 명령어
Chapter02 LVM과 RAID
2.1 LVM
2.1.1 LVM 개요
2.1.2 LVM 관련 명령어
2.1.3 LVM 실습
2.2 RAID
2.2.1 RAID의 개요
2.2.2 RAID 관련 명령어 및 실습

PART06_네트워크 서버 구축
Chapter01 웹 서버 구축
1.1 웹 서비스의 개요
1.1.1 웹 서비스의 이해
1.1.2 웹 관련 서비스의 운영
1.2 웹 서버의 운영 기초
1.2.1 기본 httpd 패키지 확인 및 설치
1.2.2 기본 httpd 패키지로 웹 서버 구현
1.3 웹 서버 운영과 부가 서비스와의 연동
1.3.1 Apache, MySQL, PHP 연동 설치
1.3.2 PHP와의 연동 확인
1.3.3 Apache httpd 2.4 분석
1.3.4 웹 서버 운영
1.3.5 MySQL과 연동
1.3.6 기타 다른 서비스와의 연동
Chapter02 DNS 서버 구축
2.1 DNS의 이해
2.1.1 DNS의 개요
2.1.2 DNS 서버 프로그램: BIND(Berkeley Internet Name Domain)
2.2 DNS 관리 및 활용
2.2.1 DNS 서버 설정의 개요
2.2.2 DNS 서버 설정과 확인
2.2.3 DNS 관련 유틸리티
Chapter03 메일 서버 구축
3.1 메일 관련 서비스의 이해
3.1.1 메일(Mail) 관련 프로토콜
3.1.2 메일 관련 프로그램의 분류
3.2 메일 서버 설치 및 활용
3.2.1 센드메일(sendmail)의 개요
3.2.2 센드메일(sendmail) 관련 주요 파일
3.2.3 센드메일 서버 설정과 확인
3.2.4 센드메일(sendmail) 관련 주요 명령어
Chapter04 파일 서버 구축
4.1 FTP 서버 구축
4.1.1 FTP(File Transfer Protocol)의 개요
4.1.2 vsftpd 서버 설정
4.2 NFS 서버 구축
4.2.1 NFS(Network File System)의 개요
4.2.2 NFS 서버의 설정
4.2.3 NFS 사용하기
4.3 삼바(SAMBA) 서버 구축
4.3.1 삼바(SAMBA)의 개요
4.3.2 삼바의 구성 및 설정
4.3.3 삼바 사용하기
Chapter05 인증 서버 구축
5.1 인증 서비스의 이해
5.1.1 인증의 개요
5.1.2 NIS(Network Information Service)의 개요
5.1.3 LDAP(Lightweight Directory Access Protocol)의 개요
5.2 NIS 구축
5.2.1 NIS 설정법
5.2.2 NIS 관련 명령어
5.2.3 NIS 사용하기
Chapter06 기타 서버 구축
6.1 슈퍼 데몬 관리
6.1.1 슈퍼 데몬의 개요
6.1.2 xinetd
6.2 PROXY 서버
6.2.1 프록시(Proxy)의 개요
6.2.2 Squid
6.3 DHCP
6.3.1 DHCP(Dynamic Host Configuration Protocol) 서버의 개요
6.3.2 DHCP 서버의 운영
6.4 VNC 관리
6.4.1 VNC의 개요
6.4.2 VNC 설치 및 운영
6.5 NTP
6.5.1 NTP(Network Time Protocol)의 개요
6.5.2 NTP 서버의 운영

PART07_시스템 및 네트워크 보안
Chapter01 시스템 보안 관리
1.1 시스템 보안 관리
1.1.1 리눅스와 보안 개요
1.1.2 sysctl과 보안
1.1.3 SSH(Secure Shell)
1.1.4 PAM(Pluggable Authentication Module)
1.1.5 sudo(Superuser do)
1.2 파일 시스템 보안
1.2.1 lsattr과 chattr
1.2.2 ACL(Access Control List)
1.3 주요 보안 도구 소개
1.3.1 nmap(network mapper)
1.3.2 tcpdump
1.3.3 tripwire
1.3.4 nessus
1.3.5 GnuPG(GNU Privacy Guard)
1.3.6 John The Ripper
1.3.7 SELinux(Security Enhanced Linux)
Chapter02 네트워크 보안 관리
2.1 네트워크 침해 유형 및 특징
2.1.1 네트워크 침해 유형 및 특징
2.1.2 기타 공격
2.2 대비 및 대처 방안
2.2.1 기본적인 대응책
2.2.2 iptables

부록 가상화 서비스
1.1 가상화 서비스의 이해
1.2 VirtualBox 설치하기

참고문헌
색인