문제만 풀다보니 점수가 안늘어나는 느낌이다..
매번 문제가 새롭네..
일단 평일에는 문제만 풀고,
오답노트 적어둔 부분들 주말에 관련해서 전부 외워야 겠다.
2019년 9월 기출문제
1. 리눅스 실무의 이해
Fedora: 일반 사용자를 위한 무료 배포판
Redhat: 밥 영(Bob Young)이 ACC 설립, 마크 유잉(Mark Ewing)이 레드햇 이름으로 출시
Ubuntu: 영국회사인 캐노니컬(Canonical)의 CEO인 마크 셔틀워스(Mark Shuttleworth)가 시작
Debian : 보기에 설명 참고
IaaS: Infrastructure as a Service, 하드웨어 자원 대여
DaaS: Desktop as a service, PaaS + SaaS
PaaS: Platform as a service, 플랫폼 대여
SaaS: Software as a Service, 소프트웨어 대여
오답 이유 : 첫번째 두번째 맨날 헷갈린다..
Grub,conf의 변수인 default는 사용자가 아무런 선택을 하지 않을 때 기본으로 부팅할 운영체제의 순서를 말한다.
0: grub.conf상의 첫번째 운영체제
1: grub.conf상의 두번째 운영체제
2: ‘Other’ 운영체제
프로세스 호출
exec : 새로운 프로세스가 기존 프로세스를 덮어씀
fork : 새로운 프로세스가 별도로 새로 생김
데몬 실행 모드
inetd : 서비스 요청 시 메모리 적재 후 응답
standalone : 메모리에 항상 상주하다가 서비스 요청시 즉답
SIGTERM - 15
SIGKILL - 9
SIGSTOP - 19
SIGQUIT - 3
오답 이유 : 정답은 맞췄는데 다른걸 몰라서 오답 체크함
nautilus - GNOME 파일 매니저
KWin - KDE의 윈도 매니저
Metacity - GNOME 2 윈도 매니저
Mutter - GNOME 3 윈도 매니저
오답 이유 : 정답이 4번인건 알고 있는데, 1,2,3번이 답이 아니라는 것만 알고 있어서 정리
접속사라고 생각하면된다.3가지만 기억하자
1. ; 는 앞의 명령어가 실패하더라도, 뒷 명령어를 실행
2. && 는 앞의 명령어가 성공했을때, 뒷 명령어를 실행
3. & 는 앞의 명령어를 Background로 실행함과 ★동시에★ 뒷 명령어 실행
오답 이유 : 공부 안해서..맨날 DISPLAY랑 SESSION이랑 헷갈린다.
X 윈도우 시스템은 unix에서 구동하는 GUI 프레임워크다.
X 서버란 입/출력 담당하는 소프트웨어를 말하며, 입력을 받아 디스플레이에 표시를 지시한다.
X 클라이언트는 실제로 X가 표시된 화면에 떠 있는 창을 말한다. (일반적으로 서버와 클라이언트와는 다른 형태)
클라이언트는 서버의 입출력 지시를 받아서 서버에 화면 표시 명령을 내린다.
DISPLAY는 X클라이언트 프로그램이 실행될 떄 표시되는 창이 설정되어 있는 환경변수이다.
만약 X클라이언트 프로그램을 원격지의 X 서버로 전송하려면 이 값을 변경하면 된다.
2^6 = 64 (탈락)
2^7 = 128 (오케이) 따라서, 맨앞(게이트웨이)/맨뒤(브로드캐스트) 빼면 128-2 = 126
2^8 = 256 (탈락) 뒷7자리를 Host영역으로 만들면되니 아래처럼 N의 갯수는 25개 /25
TCP/IP의 시초는 ARPANET이 맞으나
IETF(인터넷 표준화기구)에서 제정하고 지속적인 기술개발을 합니다.
mget = 원격지에 있는 파일 가져오기
mput = 업로드
mdelete = 멀티 딜리트로 여러개의 파일 동시 삭제
cd [directory]: 디렉터리 이동
get [filename]: 단일 파일 다운로드
mget [files]: 여러 파일 다운로드
put [filename]: 단일 파일 업로드
mput [files]: 여러 파일을 업로드
- m은 multiple의 약자
2. 리눅스 시스템 관리
① 필드 1 : 사용자명
② 필드 2 : 패스워드
③ 필드 3 : 패스워드 파일 최종 수정일
④ 필드 4 : 패스워드 변경 최소일
⑤ 필드 5 : 패스워드 변경 최대일
⑥ 필드 6 : 패스워드 만료 경고기간
⑦ 필드 7 : 패스워드 파기 기간(패스워드 파기후 게정 비활성 기간)
⑧ 필드 8 : 계정 만료 기간
⑨ 필드 9 : 예약 필드
ㅇ /etc/shadow 파일
구성 : ①wisenut : ②df#4 : ③ : ④0 : ⑤99999 : ⑥7 :⑦ :⑧ :⑨
ㅇnice : 프로세스 우선순위 변경( 프로세스 이름으로 )
ㅇrenice : 프로세스 우선순위 변경( PID로 )
ㅇ pgrep : 지정된 기준에 따라 실행 중인 프로그램의 프로세스 ID를 찾을 수 있는 명령 줄 유틸리티
ㅇ killall : 특정 프로세스를 한번에 죽이는 명령어이다.
즉, httpd 데몬 이 여러 개 실행되어 있을 경우 모두 종료하고자 한다면 killall httpd 를 사용하면 된다.
-. killall의 주요 옵션
-i : 프로세스 종료 전 물어보기(y,n)
-v : 진행 현황 확인
-w : 지정한 프로세스들이 모두 종료될 때 까지 종료 시도를 함
-[signum] : 특정 시그널 지정하여 보내기
ㅇ file : 대상 파일의 유형을 알려주는 명령어
ㅇ stat : stat 명령어는 파일이나 파일 시스템의 상태 정보를 출력
ㅇ chage :
- 사용자의 패스워드 만기 정보를 변경 및 설정하는 명령어이다
- root 권한을 가진 사용자만 사용 가능하다.
ㅇ touch -t 파일명 : 파일의 수정 시간(Modify time)을 변경
usermod -l [바꿀ID] [계정명] = 계정의 ID변경 (UID는 그대로)
-n 옵션은 없음
ㅇdd : 블록단위로 파일을 복사하거나 변환할때 사용
-if = 입력파일
-of = 출력파일
-bs = 한번에 읽고 쓸 bytes 최대크기
-count = Blocks , 지정한 블록 수만큼 복사
v : 상세한 정보 출력
V : 검증 시 사용하는 기본 옵션입니다. (검증 실패 항목이 있다면 내용을 출력하고, 없다면 아무런 출력을 하지 않는다.)
yum : redhat 계열의 온라인 패키지 관리 툴
apt-get : debian 계열
zypper : suse 리눅스
yast : suse 리눅스에서 사용하나 오프라인으로 관리
J: .tar.xz 형식의 파일을 지정
x: 압축 해제
v: 처리되는 과정을 출력
f: 압축을 풀 대상파일 지정
ㅇ 1. du -sh ihduser
-> 결과 du: cannot access ihduser: No such file or directory
ㅇ 2. du -sh ~ihduser
-> 결과 2.9G /home/ihduser
ㅇ 3. df -sh ihduser
-> 결과 df: invalid option -- 's'
ㅇ 4. df -sh ~ihduser
-> 결과 df: invalid option -- 's'
ㅇ w
23:44:56 up 29 days, 12:59, 4 users, load average: 0.01, 0.06, 0.08
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
abcd pts/1 192.168.145.1 23:39 5:07 0.08s 0.08s -bash
efgh pts/2 192.168.145.1 23:40 4:48 0.05s 0.05s -bash
efgh pts/3 192.168.145.1 23:40 0.00s 0.22s 0.41s sshd: wisenut [
efgh :0 :0 04Feb23 ?xdm? 22:53m 8.98s /usr/libexec/gn
ㅇ who
abcd pts/1 2023-02-10 23:39 (192.168.145.1)
efgh pts/2 2023-02-10 23:40 (192.168.145.1)
efgh pts/3 2023-02-10 23:40 (192.168.145.1)
efgh :0 2023-02-04 14:56 (:0)
ㅇ users : 터미널에 로그인한 모든 사용자 아이디 출력
abcd abcd efgh ijkl ijkl
ㅇ logname : 처음 터미널에 로그인한 사용자 아이디 출력 (1건)
abcd
grpconv - 그룹의 패스워드를 셰도우로 변경하는 명령어
newgrp - 그룹에 참여할 수 있는 명령어. 현재 로그인되어 있는 세션의 gid를 변경해준다.
gpasswd - '-A' 옵션을 사용해 그룹에 관리자를 지정할 수 있다.
grpck - 그룹의 무결성 검증 명령어
ㅇ OSS : 오픈 사운드 시스템(Open Sound System, OSS)은 유닉스 및 유닉스 계열 운영 체제의 사운드를
만들고 캡처하는 인터페이스이다.
표준 유닉스 장치 (이를테면 POSIX READ/WRITE/IOCTL 등)에 기반을 두고 있다.
이 용어는 OSS 인터페이스를 제공하는 유닉스 커널의 소프트웨어를 가리키는 말로 쓰이기도 한다.
ㅇ CUPS : Common Unix Printing System 컴퓨터를 인쇄 서버로 기능하도록 해주는 프린팅 시스템
애플이 개발한 오픈 소스 프린팅 시스템으로 유닉스 계열 운영체제의 시스템을 프린터 서버로 사용가능하도록 함
ㅇ SANE : 스캐너 액세스 나우 이지(Scanner Access Now Easy, SANE)는 이미지 스캐너 및
카메라 하드웨어 (플랫 베드 스캐너, 핸드 헬드 스캐너, 비디오 및 스틸 카메라, 프레임 그래버 등)에
표준화된 액세스를 제공하는 API(Application Programming Interface)이다.
ㅇ ALSA : 고급 리눅스 사운드 아키텍처(Advanced Linux Sound Architecture, ALSA)는 리눅스 커널의 구성 요소 중 하나로
사운드 카드용 장치 드라이버를 위한 API를 제공하는 소프트웨어 프레임워크이다.
GNU 소프트웨어이며, 보안 통신을 위한 도구다. 키 교환 및 확인, 문서 암호화 및 암호 해독, 디지털 서명 문서인증이 포함된다. 그리고 독일 정부의 후원을 받고 있다. 2015년 6월 기준으로, 페이스북에서 이걸 이용해서 비밀번호 재설정 링크 같은 민감한 정보를 암호화해 보내기로 했다고 한다.
GnuPG는 개인 정보를 보호하기 위해 사용하는 도구다. 다른 사람과 연락할 수 있으면 개인 정보가 보호된다.
-
GnuPG 사용 사용자 지정 네 가지 참고
-
공개/개인 키 쌍[1]의 키 크기 선택
-
개인 키 보호
-
만료 날짜 선택 및 하위 키 사용
-
신뢰 웹 관리
-
GnuPG에서 키 관리의 핵심은 키 서명 개념이다. 열쇠 서명에는 두 가지 주요 목적이 있다. 키링에 대한 변조를 감지할 수 있도록 허용하고 인증할 수 있고, 키는 실제로 키의 사용자 ID로 명명된 사람에게 들어간다. 키 서명은 스키마에도 사용된다.

ㅇ 정답은 4번, 해설이 없다..
ㅇ logrotate.d 내부에 설정 예시
var/log/wtmp { # 로테이트 경로
weekly # 매주
create 0755 system admin # 권한 0644 , 소유자 root, 그룹 utmp
minsize(size) # 지정한 용량이 되면 로그로테이트를 실행한다. 10k, 1M 이런식으로 지정
rotate 4 # 정리할 로그의 개수를 지정하는 부분입니다 로그 회전주기에 따라 진행
로그를 4세대분 남긴다. weeky를 지정했을 경우는 4주간이라고 하는 의미가 된다.
ㅇ emerg 수준의 문제가 발생되면 /log/emerg.log 파일에 기록하는 설정
*.emerg /log/emerg.log
ㅇ syslog 프로토콜 종류
0 Emergency(emerg) : (긴급)시스템을 사용할 수 없습니다. (가장 심각함)
1 Alert : (경고)즉각적인 조치가 필요합니다
2 Critical: (크리티컬)크리티컬 컨디션
3 Error : (오류)오류 조건
4 Warning : (경고)경고 조건
5 Notice : (알림)정상적이지만 중요한 조건
6 Informational : (info)정보 메시지
7 Debug : (디버그) 디버그 수준 메시지
3. 네트워크 및 서비스의 활용
forward (only|first);
-> forwarders 옵션과 같이 사용되며 only 나 first 두 값 중 하나를 갖는다.
-> only는 자신에게 들어온 도메인 질의를 지정한 다른 서버에 넘기도록 하는 것으로 다른 서버가 그에 대한 응답이 없을 경우 그 자신도 그 질의에 대해 응답하지 않는 경우 설정한다.
-> first는 타 서버에서 응답이 없을 때 자신이 응답하도록 설정한다
forwarders { 네임서버주소1; 네임서버주소2;... }
-> 도메인에 대한 질의를 다른 서버로 넘길때 사용하는 옵션으로 복수 형태로 지정 가능하고
세미콜론(;)로 구분한다.
ㅇ Citrix의 XenServer
대표적인 반 가상화(Para Virtualization) 하이퍼바이저(hypervisor)리눅스 커널에서
사용할 수 있는 공개SW기반 가상화 소프트웨어
ㅇ VMware의 ESX Server : 전가상화(Bare-Metal/Hypervisor) 기법을 이용, Type-1 하이퍼바이저 서버
ㅇ Oracle의 VirtualBox : x86 기반 가상화 소프트웨어
ㅇ Microsoft의 Virtual Server
Windows XP, Windows Vista 및 Windows Server 2003 운영 체제에서 가상 머신 생성을 용이하게 해주는
가상화 솔루션이었습니다. 원래 Connectix에서 개발했으며 출시 전에 Microsoft에서 인수했습니다.
Virtual PC는 Microsoft의 관련 데스크톱 가상화 소프트웨어 패키지입니다.
-t : 문법적 오류 점검
-f : 아파치 데몬 실행
-S : 가상 호스트 목록 출력
-l : 컴파일된 모듈 목록 출력
-M : 로딩된 모든 모듈 출력
ㅇ beos : BeOS는 Be 사에서 개발한 개인용 컴퓨터용 운영 체제이다.
ㅇ 아파치 서버 MPM( Apache Multi-Processing Modules )
- 아파치 서버가 클라이언트에게서 받아들인 요청을 처리하기 위하여 자식 프로세스들에게 분배하는 모듈
- prefork 방식과 worker 방식이 있다
ㅇ prefork
- 하나의 자식 프로세스가 하나의 스레드를 갖는 구조로, 자식 프로세스는 최대 1024개까지 가능하다.
- 스레드 간 메모리 공유 안 함(독립적이라 안정적인 대신에 메모리를 많이 사용)
- 실행 중인 프로세스 복제하여 실행(메모리 영역까지 같이 복제)
- 응답 프로세스를 미리 띄워놓고 클라이언트 요청 시 자식 프로세스가 반응하게 되는 방식
- 디버깅이 빈약한 플랫폼에서 쉬운 디버깅 가능
- 안전하지 않는 제3자가 만든 모듈 사용 가능
- 일반적으로 single CPU 또는 Dual CPU에서 성능이 좋음
ㅇ worker
- 초기에 시작하는 프로세스의 개수를 지정
- prefork보다 메모리 사용량 적음. 통신량이 많은 서버에 적절하다(=동시접속자가 많은 사이트에 적합)
- 프로세스당 스레드(연결) 여러 개이며 최대 64개의 스레드 처리가 가능하다.
-> 즉, 자식 프로세스들이 각각 여러 스레드를 사용하며, 각 스레드는 한번에 한 연결을 담당한다
- 스레드간에 메모리를 공유한다
- worker 방식은 일반적으로 멀티 CPU 시스템에서 성능이 좋다
ㅇ prefork worker
안전하지 않는 제 3자가 만든 모듈을 사용할 수 있다. 통신량이 많은 서버에서 적절한 형태를 가진다.
디버깅이 빈약한 플랫폼에서 쉽게 디버깅 할 수 있다. prefork에 비해 적은 메모리를 사용한다.
ㅇ perchild 와 연관된 내용
ThreadsPerChild : 하나의 자식프로세스가 가질 수 있는 쓰레드 개수
MaxRequestsPerChild : 자식프로세스가 살아있는동안 요청을 받을 개수
MaxConnectionsPerChild : 서버 프로세스가 종료되기 전에 제공되는 최대 연결 수입니다. 0의 경우 제한이 없다라는 의미입니다.
NIS : 썬마이크로시스템의 상품이나 대부분의 유닉스, 리눅스에 기본적으로 탑재되어 있는 인증 서비스
ㅇyellow pages - NIS의 초기상품명, 명령어 대부분이 yp로 시작됨
ㅇX.500 - 전자 디렉터리 서비스를 전달하는 일련의 컴퓨터 네트워크 표준
ㅇRPC - Remote Procedure Call 한 프로그램이 네트웍 상의 다른 컴퓨터에 위치하고 있는 프로그램에 서비스
를 요청하는데 사용되는 프로토콜 (NIS 에 필요)
ㅇ rpcinfo : RPC 정보를 조회하는 리눅스 명령어
ㅇ portmap : RPC 프로그램 이름을 DARPA 프로토콜 포트 번호로 변환한다.
ㅇ exportfs : 로컬의 디렉토리를 NFS 클라이언트로 export 하거나 unexport하는 명령어
ㅇ rpcbind : RPC 데몬 구동
ㅇ 옵션정리
comment = samba shared directory # 간단한 공유 폴더 설명
path = /smbdir # 공유 디렉토리 경로
read only = no # 읽기 전용
writable = yes # 쓰기 전용
guest ok = no # 다른 사용자들도 이용할 수 있도록 설정
valid user = user1 # 공유 디렉토리를 이용할 수 있는 사용자를 설정 <<<<<<<<<<<<<<<<<<
create mask = 0777 # 파일 허가권
directory mask = 0777 # 디렉토리 허가권
m4 명령어는 메일 송/수신 시 필요한 sendmail.cf 생성하는 명령어.
ex) m4 sendmail.mc > sendmail.cf
makemap 명령어는 db 파일(access.db)를 만드는 명령어
ex) makemap hash /etc/mail/access < /etc/mail/access
options {
directory "/var/named";
forward only;
forwarders { 8.8.8.8; };
datasize 1024M;
allow-query { 192.168.64/24; }; <- 네임 서버에 질의할 수 있는 호스트를 지정
};
ㅇ /etc/named.conf 내 zone 영역
zone "ihd.or.kr" IN {
type master;
file "ihd.zone";
};
PTR : IP 주소를 호스트 이름으로 매핑할 때 사용한다.
PTR 레코드는 reverse zone파일 설정에 사용된다
ㅇ MX (Mail Exchange) : 도메인의 메일 서버를 지정
ㅇ CNAME (Canonical Name) : 별칭 호스트 이름을 정식 호스트 이름에 매핑
==========================================================================
...
8 IN NS ns.userdomainname.com.
9 IN MX 10 mail.userdomainname.com.
10 ns IN A 211.108.52.60
11 www IN A 211.108.52.60
12 mail IN CNAME www
13 ftp IN CNAME @
14 * IN CNAME @
22 IN PTR ihd.or.kr
11 www IN A 211.108.52.60
12 mail IN CNAME www
ㅇ libvirtd : libvirt 가상화 관리 시스템의 서버 측 데몬 구성 요소
Xen 기반의 가상 머신을 생성하기 위해 관련 데몬을 실행
ㅇ virt-top : top과 유사한 가상화 현황조회 도구
가상머신만을 대상으로 CPU 자원을 모니터링할 때 사용
ㅇ virt-manager(Virtual Machine Manager)은 데스탑의 GUI 환경에서 가상머신을 생성하고, 관리 할 수 있는 소프트웨어
domain-name은 문자 그대로 DHCP서버의 도메인 네임을 지정하는 것이고,
domain-name-servers는 네임 서버를 지정하는 거입니다.
문제에 ns1로 시작하는 것으로 보아 이것은 네임 서버입니다.
ㅇ UserDir
사용자들의 계정에 각각의 홈페이지를 서비스할때 필요한 개별 가입자들의 홈페이지 디렉토리이름이다.
사용하게 될 경우 public_html이나 www를 설정값으로 많이 사용한다.
접근은 http://도메인/~유저명 과 같은 방식이 되며 UserDir disable root 처럼 지정하면
root 사용자는 이 기능을 사용하지 않겠다는 것이다.
스페이스로 공백을 주고 추가로 사용하지 않을 사용자를 계속 입력할 수 있다.
<IfModule mod_userdir.c>
#UserDir public_html
#UserDir enable
#UserDir disable root
UserDir disabled
</IfModule>
ㅇ /etc/aliases : 특정 계정으로 들어오는 메일을 다른 계정으로 전송되도록 설정한다.
webmaster : ihduser, kaiuser, admin@ihd.or.kr
ㅇ /etc/mail/access : 메일 Relay 제한 및 스팸메일 방지 설정 파일
ㅇ virtusertable : 가상 메일 유저 설정 파일
하나의 메일 서버에 여러 도메인을 사용하는 환경에서 동일한 계정을 사용할 때 각각의 도메인으로 연결시킨다.
ㅇ local-host-names : 메일 수신지(도메인과 호스트)를 설정
ㅇ Bind : Berkeley Internet Name Domain
- DNS서버를 운영하기 위해서는 서버에 데몬 프로그램이 필요하게
되는데,BIND는 구성이 쉽고 표준을 따르는 도구로서 리눅스,Unix에 가장 널리 사용되는 DNS 프로그램이
[Suricata]
트래픽이 유해하다고 판단하면 관련 로그를 남겨 침입을 방지하고
예상 가능한 공격을 설정해 대응하여 침입을 탐지함
[sshguard]
SSH 무차별 대입 공격을 차단 함
[DenyHosts]
관리자가 설정한 횟수 이상의 로그인 실패시 해당 로그를 확인하여 IP를 블락시킴 (SSH만 감시)
[fail2ban]
보기의 내용
'Linux > 리눅스마스터' 카테고리의 다른 글
리눅스마스터 1급 오답노트(2018.03 기출) (0) | 2024.08.30 |
---|---|
리눅스마스터 1급 오답노트(2018.09 기출) (3) | 2024.08.29 |
리눅스마스터 1급 오답노트(2020.06 기출) (0) | 2024.08.21 |
리눅스마스터 1급 오답노트(2020.10 기출) (0) | 2024.08.20 |
리눅스마스터 1급 오답노트(2022.03 기출) (0) | 2024.08.19 |