자격증

[리눅스마스터 1급] 2차 시험 합격 후기, 학습 기간, 학습 방법 (2020년 8월 8일 특별 검정, 2001회)

yhtragramming 2020. 8. 23. 13:28

자격증 (디자인이 바뀐 듯)
합격 인증!!

오늘은 리눅스마스터 1급 필기시험 합격 후기에 이어, 8월 8일에 치른 실기시험 후기에 대해 포스팅하고자 한다.

 

2020년 첫 번째 정기시험(필기)은 코로나 때문에 연기되었다.

 

그래서 정보통신진흥협회 측에서는 연기된 필기시험에 대한 후속 특별 실기시험을 진행하기로 했고,

8월 8일 정보통신진흥협회 본사에서 일괄적으로 진행됐다.

 

필기시험을 준비하면서 문제만 달달 외운다는 느낌을 적지 않게 받았다.

그래서 실기시험만큼은 완벽하게(?) 준비된 상태로 응시해야겠다는 다짐을 했다.

 

하지만 항상 다짐만 한다 ㅋㅋㅋ

시험 2주 전부터 또 발등에 불 떨어진 듯 열심히 하기 시작했다.

 

* 학습 기간 - 2주 (리눅스 사용 경험 O, 필기시험 준비하면서 관련 파일 틈틈이 열람)

본격 리눅스 실기시험을 대비하고자 공부한 기간은 2주 남짓이다.

나는 정보통신 분야 실무자이긴 하지만 OS를 직접적으로 다루는 서버 전담자는 아니다.

프로젝트에서 소스 배포를 위해 리눅스 서버를 들락거리며 사용해본 경험이 전부다.

 

이런 전제조건 하에 시험 준비는 2 주면 충분하다고 생각한다.

 

* 학습 방법 (기출문제 위주, sample 파일 참고 및 man 페이지 활용)

실기시험이라 해서 시험장 리눅스에 여러 서비스들을 구축하여 그 자체를 채점 받는 방식이 아니다.

시험장에 설치된 리눅스는 문제에 대한 답을 적고, 이를 확인해보기 위한 '확인용'일뿐이다.

또한, history, system log들을 감독관들이 일일이 확인해보지도 않는다.

 

결국, 채점은 오롯이 손글씨로 적은 '답안지' 위주로만 이루어진다.

 

리눅스 마스터 시험을 준비하기 위해서는 몇 가지 명령어에 대한 암기가 필요한 것이 사실이다.

하지만 궁극적으로 검정하고자 하는 것은 서버 구축에 필요한 명령어와 방식, 각종 서비스에 대한 이해도이다.

 

그래서 시험장에서도 man 페이지 및 sample 파일을 열람할 수 있기에 세부 설정 항목을 달달 외울 필요는 없다.

또한, 대부분의 설정 파일의 항목에는 주석으로 설명이 달려있다.

 

하지만 어떤 상황에서 어떤 명령어 & 설정 파일을 쓰는지 정도는 반드시 알고 가야 한다.

 

man 페이지의 경우 영문으로 되어있으니, 최대한 시간 날 때마다 많이 읽어보고 실습해보는 것이 중요하다.

설정 파일의 경우 파일의 경로를 모두 외워가는 것도 괜찮은 방법이지만, find 명령어를 사용하면 쉽게 찾을 수 있다.

따라서 아래 명령어들은 사용한다면, 시험 응시시 큰 도움을 받을 수 있다.

 

- 시험장에서 많이 썼던 명령어들 -

① man [-k] 명령어(명령어에 대한 정의[-k] / 명령어를 어떻게 쓰는지에 대한 매뉴얼 페이지)

② 명령어 --help(안되는 명령어도 있지만, 매뉴얼 페이지에 대한 요약형 도움말)

③ find / -name '*찾을 내용*' 혹은 find / | grep '*찾을 내용*'

 

- vi 편집기 컨트롤 팁(설정 파일에서 특정 단어를 검색) -

① 편집하고자 하는 설정 파일 vi editor로 열기

[root@localhost /]# vi /etc/httpd/conf/httpd.conf

 

② 가독성 있게 보기 위한 명령 모드(esc + : ) 진입 → 'set nu list showmode' 입력

:set nu list showmode

 

③ 검색모드 진입 (esc + ?) → 찾고자 하는 단어 입력 후 enter

?ServerRoot

 

④ 탐색 (n : 이전 문구 검색, N : 다음 문구 검색)

 

리눅스 실기시험에서도 강조하는 내용들이 있는데, 필기시험의 것과 크게 다르지 않다.

5개년의 기출문제를 모두 출력하여 풀어보며 공부했다. 그러다 보니 매년 반복 출제되는 내용들이 보였다.

 

단, 정보통신진흥협회에서 리눅스 실기시험 시 사용된다는 배포판을 확인하여 실습하는 것을 추천.

초기에 이걸 무시하고 Ubuntu로 연습했다 파일의 절대 경로가 달라 헤맸던 경험이 있다.

 

현재(2020년 8월 23일 기준) 공시된 시험장의 리눅스 버전은 CentOS 6.9 혹은 Fedora13이며, 모두 Redhat 계열이다.

출처 : 정보통신진흥협회 홈페이지 ( https://www.ihd.or.kr/introducesubject1.do )

다음 내용들은 꼭 짚어보고 갔으면 한다. 단, Redhat Enterprise Linux로 실습했던 경험을 토대로 작성하였으며, 시험장 리눅스와 비교해봤을 때 파일의 절대 경로가 달랐던 사례는 없었다.

 

* 단답형 *

1. 사용자, 그룹 관리 명령어들 및 옵션 (useradd, adduser, usermod, groupadd 등)

2. 사용자 추가 관련 파일과 역할 (/etc/login.defs, /etc/default/useradd, /etc/skel 등)

2. 시스템의 주요 정보 파일 내용 (/proc/cpuinfo, /proc/mounts, /proc/partitions 등)

3. 파티션 테이블 명령어 및 설정 파일의 각 옵션 (fdisk 명령어, /etc/fstab의 경우 각 필드의 의미)

4. 커널 변수 파라미터 설정 명령어 및 옵션 (sysctl)

5. 파일의 속성 변경 및 조회 명령어 및 옵션 (chattr, lsattr)

6. 프로세스 관리 명령어 및 옵션 (ps, top, pkill, pgrep 등)

7. backup 명령어 및 옵션 (tar, cpio, dump & restore, 상황에 따라 어떤 백업 방법을 써야 하는지 스스로 판단할 수 있도록 정리해갈 것)

8. 시스템 log 관련 명령어(lastlog, last, lastb) 및 log 파일의 위치, 특성

9. logrotate의 설정(/etc/logrotate.conf, logrotate man 페이지 참고)

10. crontab 사용법(분,시,일,월,년,요일 등과 같은 필드의 의미)

 

*작업형 *

1. apache 웹서버 설정 파일 및 각 항목의 의미(혹은 appachectl, httpd 명령어 및 옵션)

- 파일 경로 : /etc/httpd/conf/httpd.conf

2. iptables 명령어 및 옵션 (INPUT, OUTPUT, PRE&PROROUTING의 개념, -F, -P, -A 옵션)

3. samba 설정 파일

- 파일 경로 : /etc/samba/smb.conf, 샘플 파일 경로 : /etc/samba/smb.conf.example

4. NFS 설정 파일 관련 명령어(exportfs, showmount 등의 명령어 및 옵션)

- 파일 경로 : /etc/exports

5. FTP 설정 파일들과 각 항목의 의미

- 파일 경로 : /etc/vsftpd/vsftpd.conf, /etc/vsftpd/ftpusers, /etc/vsftpd/user_list

6. DHCP 특정 파일들과 각 항목의 의미

- 파일 경로 : /etc/dhcp/dhcpd.conf

7. DNS 설정 파일, zone 파일, reverse-zone 파일의 설정 방법

- 파일 경로 : /etc/named.conf

8. sendmail 관련 설정

- 관련 파일 : /etc/mail/sendmail.cf, /etc/mail/virtusertable

9. TCP Wrapper(/etc/hosts.deny, /etc/hosts.allow의 설정 방법)

10. Proxy 서버 설정 파일 (/etc/squid/squid.conf)

 

*서비스별 네트워크 표기법*

공부하면서 많이 헷갈렸던 부분이다.

 

서비스별 특정 네트워크 주소를 허용/거부하는 방법을 기술하는 문제들이었는데, '192.168.0.1'과 같이 특정 호스트만 지정할 경우는 크게 문제가 되지 않는다. 하지만 '네트워크 대역' 단위의 접근 허용/거부 여부를 설정하는 경우에는 각 서비스별로 네트워크 대역을 표기하는 방법이 조금씩 다르다. 아래 표를 머릿속에 넣어갔으면 좋겠다.

 

여러가지의 네트워크 표기법이 허용되는 서비스의 경우 대표적인 것 하나만 외워가면 될 것 같다. 그 중에서도 여러가지 서비스에게 공통적으로 적용되는 네트워크 표기법을 택해 암기하면 좀 편하지 않을까 싶다.

예) sendmail (192.168.1), DNS(192.168.1/24), 나머지 대부분(192.168.1.0/255.255.255.0) 식으로..

네트워크 표기법

허용되는 서비스

192.168.1

sendmail(/etc/mail/access)

192.168.1.

tcp_wrapper(/etc/hosts.{allow,deny})

Samba(smb.conf)

proftpd(/etc/proftpd.conf)

apache(httpd.conf)

192.168.1.0

xinetd

192.168.1.0/255.255.255.0

NFS(/etc/exports)

tcp_wrapper(/etc/hosts.{allow,deny})

Samba(smb.conf)

squid(squid.conf)

apache(httpd.conf)

iptables

192.168.1.0/24

xinetd

NFS(/etc/exports)

DNS(/etc/named.conf)

squid(squid.conf)

apache(httpd.conf)

iptables

192.168.1/24

DNS(/etc/named.conf)

출처 : 리눅스마스터 1급 정복하기(정성재, 배유미 공저)

* 시험 장소

이번 시험의 경우는 강남역 4번 출구에서 도보 10분 정도 거리에 있는 한국정보통신진흥협회 본사에서 진행됐다. 응시인원은 60명 정도에 결시자는 못 본 것 같다. 감독관님은 코로나 영향으로 응시자 수를 크게 늘리지 못했다고 했다. 시험 접수 시작일에 바로 접수했던 것이 참 다행이라는 생각을 했다. 이왕 시험 보기로 마음을 먹었다면 최대한 빨리 접수한 게 유리한 것 같다.

출처 : 네이버지도(http://map.naver.com)

* 시험 후기

시험 난이도는 매우 평이했다. 기출문제만 충실히 반복해서 풀어보고 갔어도 반 이상 먹고 들어갈 수 있을 정도였다. 필기시험의 경우 자신의 답안을 작성해서 갖고 나갈 수가 없었는데, 실기시험은 수험표에 한해 자신의 답을 적어나갈 수 있게 허용한다고 했다.

 

문제 공개는 이틀 후 월요일 오후 5시에 이뤄졌고, 가채점 결과 90점으로 안전하게 합격선이었다. 처음으로 국가기술자격시험에 이의를 제기해봤다. 총 3문제에 이의를 제기했는데, 결국 내가 적어낸 답 중 2개도 정답으로 인정되었다.

 

취득하기로 다짐하고 근 2년이 소요되어 딴 리눅스 자격증. 직장인으로서 자기개발이 힘들다는 건 인정하지만, 스스로의 집중력이 많이 부족해서 허비했던 시간이 더 많았다는 건 인정할 수밖에 없었다.

 

그러나 공부 기간이 길어진 것에 대한 장점도 있었다. 리눅스 공부를 하면서 OS에 대해 심도 있게 접근도 해보고, UI로만 다뤘던 Window에 대해서도 한층 이해도가 높아졌다. 마침 회사에서 인프라적인 업무도 겸임하게 되어서, 실무 활용도도 배가 되었다.

 

다음 자격증 목표는 SQLD이고 올해 11월에 응시할 예정이다. 하지만 리눅스 마스터 자격증을 취득했다고 곧바로 리눅스와 바이바이하는 것이 아니라 지속적인 공부를 통해 심도 있게 연구도 해보고 실력을 쌓아나가고 싶다.

 

이 글을 통해 리눅스 마스터 시험 준비를 하시는 분들이 많은 도움을 받았으면 좋겠다.

 

감사합니다.