본문 바로가기

ETC/자격증

[리눅스마스터]제1701회 리눅스마스터 1급 2차 시험 단답식 풀이 3

반응형

7. 다음 조건에 맞게 ( 괄호 ) 안에 알맞은 내용을 적으시오.

# vi /etc/rsyslog.conf
( ① ) ( ② )

<조 건>
- mail 관련한 모든 정보는 /var/log/mail.log에 기록하고, debug 수준의 로그는 제외한다.

 

/etc/rsyslog.conf : rsyslogd 데몬 환경 설정 파일

Action : 로그 기록 저장 위치

Selector -> Facility : 메시지 종류

           -> Level : 메시지 중요도

 

[root@server1 ~]# man syslog
The loglevel
       The kernel routine printk() will only print a message on the console, if it has a loglevel less than the
       value of the variable console_loglevel.  This variable initially has the value  DEFAULT_CONSOLE_LOGLEVEL
       (7),  but is set to 10 if the kernel command line contains the word "debug", and to 15 in case of a ker‐
       nel fault (the 10 and 15 are just silly, and equivalent to 8).  This variable is set (to a value in  the
       range  1-8)  by  a  syslog() call with a type of 8.  Calls to syslog() with type equal to 6 or 7 set the
       variable to 1 (kernel panics only) or 7 (all except debugging messages), respectively.

       Every text line in a message has its own loglevel.  This  level  is  DEFAULT_MESSAGE_LOGLEVEL  -  1  (6)
       unless  the line starts with <d> where d is a digit in the range 1-7, in which case the level is d.  The
       conventional meaning of the loglevel is defined in <linux/kernel.h> as follows:

       #define KERN_EMERG    "<0>"  /* system is unusable               */
       #define KERN_ALERT    "<1>"  /* action must be taken immediately */
       #define KERN_CRIT     "<2>"  /* critical conditions              */
       #define KERN_ERR      "<3>"  /* error conditions                 */
       #define KERN_WARNING  "<4>"  /* warning conditions               */
       #define KERN_NOTICE   "<5>"  /* normal but significant condition */
       #define KERN_INFO     "<6>"  /* informational                    */
       #define KERN_DEBUG    "<7>"  /* debug-level messages             */

 

[root@server1 ~]# vi /etc/rsyslog.conf
#### RULES ####

# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.*                                                 /dev/console

# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none                /var/log/messages

# The authpriv file has restricted access.
authpriv.*                                              /var/log/secure

# Log all the mail messages in one place.
mail.*                                                  -/var/log/maillog


# Log cron stuff
cron.*                                                  /var/log/cron

# Everybody gets emergency messages
*.emerg                                                 :omusrmsg:*

# Save news errors of level crit and higher in a special file.
uucp,news.crit                                          /var/log/spooler

# Save boot messages also to boot.log
local7.*                                                /var/log/boot.log

 

① mail.*;mail.!=debug 

② /var/log/mail.log

 

8. logrotate를 이용하여 로그 파일을 관리하려고 한다. 아래 조건에 맞게 ( 괄호 ) 안에 알맞은 내용을 적으시오.

/var/log/web {
( ① )
( ② ) 10
create ( ③ ) admin webserver
( ④ )

<조 건
- ① 파일의 순환(rotate) 주기는 하루 단위로 지정한다.
- ② 최대 10번까지 로테이트를 하도록 지정한다.
- ③ 소유자는 admin, 소유그룹은 webserver로 설정하고, 파일의 허가권은 소유권자의 읽기, 쓰기 권한만 지정한다.
- ④ 로테이션으로 생성되는 로그 파일에 해당 날짜를 “YYYYMMDD”형식의 덧붙여 저장한다.

 

monthly(월)

weekly(주)

daily(일)

dateext : 백업 파일의 이름에 날짜 입력

rotate [숫자] : log파일이 정해진 숫자 이상 되면 삭제

 

[root@server1 ~]# find / -name logrotate*
/sys/fs/selinux/booleans/logrotate_use_nfs
/etc/selinux/targeted/modules/active/modules/logrotate.pp
/etc/logrotate.conf
/etc/cron.daily/logrotate
/etc/logrotate.d
/var/lib/logrotate.status
/usr/sbin/logrotate
/usr/lib/python2.7/site-packages/sos/plugins/logrotate.py
/usr/lib/python2.7/site-packages/sos/plugins/logrotate.pyc
/usr/lib/python2.7/site-packages/sos/plugins/logrotate.pyo
/usr/share/doc/logrotate-3.8.6
/usr/share/augeas/lenses/dist/logrotate.aug
/usr/share/man/man5/logrotate.conf.5.gz
/usr/share/man/man8/logrotate.8.gz

 

[root@server1 ~]# vi /etc/logrotate.conf
# see "man logrotate" for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# use date as a suffix of the rotated file
dateext

# uncomment this if you want your log files compressed
#compress

# RPM packages drop log rotation information into this directory
include /etc/logrotate.d

# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp {
    monthly
    create 0664 root utmp
        minsize 1M
    rotate 1
}

/var/log/btmp {
    missingok
    monthly
    create 0600 root utmp
    rotate 1
}

# system-specific logs may be also be configured here.

 

[root@server1 ~]# man logrotate

 

① daily

② rotate

③ 0600

④ dateext

 

9. 다음은 sshd_config 파일의 일부 내용이다. 아래의 조건에 맞게 ( 괄호 ) 안에 들어갈 내용을 적으시오.

TCPKeepAlive yes
( 괄호 ) yes
X11Forwarding yes

<조 건>
- 답안 작성시 대소문자를 구분한다.
- 로그인 시 지난번 로그인 기록을 보여주도록 설정한다.

 

/etc/ssh/sshd_config : Open SSH 서버 설정 파일

<주요 지시자>

PrintMotd yes : 사용자가 로그인 하는 경우 /etc/motd (the message of the day) 파일의 내용을 보여줄 것인지 결정

LoginGraceTime 2m : 유저(User)의 로그인이 성공적으로 이루어지지 않았을 때 이 시간 후에 서버가 연결을 끊는 값(기본값은 600초)

PermitRootLogin yes : root 로그인 허용 여부를 결정하는 것이다. yes, no, without-passwd를 사용.

no로 지정이 되면 직접 root로 접속이 불가능. 이 옵션을 yes로 하기 보다 일반 계정으로 로그인 한 후 su 명령으로

root로 전환하는 것이 보안상 안전.

 

[root@server1 ~]# find / -name sshd_config
/etc/ssh/sshd_config

 

[root@server1 ~]# vi /etc/ssh/sshd_config

 

PrintMotd
             Specifies whether sshd(8) should print /etc/motd when a user logs in interactively.  (On some sys‐
             tems it is also printed by the shell, /etc/profile, or equivalent.)  The default is “yes”.
LoginGraceTime
             The server disconnects after this time if the user has not successfully logged in.  If the value
             is 0, there is no time limit.  The default is 120 seconds.
PermitRootLogin
             Specifies whether root can log in using ssh(1).  The argument must be “yes”, “without-password”,
             “forced-commands-only”, or “no”.  The default is “yes”.

             If this option is set to “without-password”, password authentication is disabled for root.

             If this option is set to “forced-commands-only”, root login with public key authentication will be
             allowed, but only if the command option has been specified (which may be useful for taking remote
             backups even if root login is normally not allowed).  All other authentication methods are dis‐
             abled for root.

             If this option is set to “no”, root is not allowed to log in.

 

① PrintMod

 

10. 다음은 dump 명령을 이용하여 전체 백업과 전체 복원하는 절차이다. 다음 ( 괄호 )안에 들어갈 내용으로 알맞은 명령과 옵션을 적으시오.

가. 파일시스템 전체 백업
# dump ( ① ) ( ② ) fulldata.dump /dev/sdc5

나. 파일시스템 전체 복원
# ( ③ ) ( ④ ) fulldata.dump

<조 건>
- /dev/sdc5 파티션은 /data 디렉터리로 마운트 되어있다.
- /dev/sdc5 파일시스템 전체 백업으로 수행한다.
- 복원과정도 반드시 전체 복원 방식으로 수행한다.

 

dump : 파일시스템 단위(파티션)로 백업하는 명령어

 

restore : dump 명령어로 백업을 복원

 

dump [옵션] [백업장치] [백업대상]

<옵션>

0 ~ 9 : 덤프 레벨 / 0 -> 전체 백업 / 1 ~ 9 -> 부분 백업 / 기본 레벨 9

-f 파일명 또는 디바이스명 : 백업할 미디어를 지정 또는 파일명 지정

-u : 백업 후 /etc/dumpdates라는 파일에 작업 정보 기록

 

restore [옵션] [디바이스명 | 백업파일명]

<옵션>

-i : 대화식으로 복구할 파일 복원

-f  디바이스명 또는 백업파일명 : 백업되어진 파일이나 장치 지정

-r : 전체 백업

 

[root@server1 ~]# man dump
DESCRIPTION
       Dump  examines  files  on  an ext2/3/4 filesystem and determines which files need to be backed up. These
       files are copied to the given disk, tape or other storage medium for safe keeping  (see  the  -f  option
       below  for  doing  remote backups). A dump that is larger than the output medium is broken into multiple
       volumes. On most media the size is determined by writing until an end-of-media indication is returned.

       On media that cannot reliably return an end-of-media indication (such as some  cartridge  tape  drives),
       each  volume is of a fixed size; the actual size is determined by specifying cartridge media, or via the
       tape size, density and/or block count options below. By default, the same output file name is  used  for
       each volume after prompting the operator to change media.

       files-to-dump  is either a mountpoint of a filesystem or a list of files and directories to be backed up
       as a subset of a filesystem. In the former case, either the path to a mounted filesystem or  the  device
       of  an  unmounted  filesystem  can  be  used. In the latter case, certain restrictions are placed on the
       backup: -u is not allowed, the only dump level that is supported is 0 and all the files and  directories
       must reside on the same filesystem.

 

[root@server1 ~]# man restore
DESCRIPTION
       The restore command performs the inverse function of dump(8).  A full backup of a  file  system  may  be
       restored  and  subsequent  incremental backups layered on top of it. Single files and directory subtrees
       may be restored from full or partial backups.  Restore works across a network; to do  this  see  the  -f
       flag  described  below.  Other arguments to the command are file or directory names specifying the files
       that are to be restored. Unless the -h flag is specified (see below), the appearance of a directory name
       refers to the files and (recursively) subdirectories of that directory.

 

① -0

② -f

③ restore

④ -rf

반응형