리눅스마스터 1급 실기 - 1901회 기출문제 (풀이)

gosu·2023년 10월 26일
0
post-thumbnail
post-custom-banner

리눅스마스터 1급 실기 - 1901회 기출문제 (풀이)

리눅스마스터 1급 실기 - 1901회

1번

usermod

  • 홈 디렉토리 변경 방법
  • -d /home/kaituser : 홈 디렉터리 변경
  • -m : 기존에 파일이나 디렉터리 그대로 이용
  • how to solve : man usermod | grep home 로 체크하면 됨
-m, --move-home
Move the content of the user's home directory to the new location. 
If the current home directory does not exist the new home directory will not be created.
This option is only valid in combination with the -d (or --home) option. 
usermod will try to adapt the ownership of the files and to copy the modes, 
ACL and extended attributes, but manual changes might be needed afterwards.

3번

usrquota, mount, quotacheck, edquota

7번

ldd

  • lib dynamic dependency
  • dd로 명령어를 검색해보자.
  • ldd : 동적 라이브러리 정보 확인

9번

mod 관련 명령어

  • compgen -c | grep mod
  • 다음 명령어로 mod 관련 명령어를 찾을 수 있다.
  • 익숙해져야하는 mod 명령어
    - modprobe
    - modinfo
    - depmod
    - rmmod

11번 - 4xx Error, 5xx Error

4xx 에러 (Client Errors)

4xx 에러는 클라이언트 측에서 발생한 문제를 나타냅니다. 즉, 클라이언트의 요청이 잘못된 경우 이러한 에러가 발생합니다.

  • 400 Bad Request: 잘못된 요청입니다. 클라이언트가 서버에게 주는 요청 메시지가 문제가 있는 경우 발생합니다.
  • 401 Unauthorized: 인증이 필요한 페이지에 대한 요청이거나, 잘못된 인증 정보가 제공된 경우입니다.
  • 403 Forbidden: 서버가 요청을 이해했지만 그 요청을 수행할 권한이 없는 경우입니다.
  • 404 Not Found: 요청한 자원을 찾을 수 없습니다. 주소가 잘못되었거나 해당 페이지가 삭제된 경우 발생합니다.
  • 405 Method Not Allowed: 사용하려는 HTTP 메소드(GET, POST, PUT 등)가 해당 리소스에서 허용되지 않는 경우입니다.

5xx 에러 (Server Errors)

5xx 에러는 서버 측에서 발생한 문제를 나타냅니다. 즉, 클라이언트의 요청은 올바르지만 서버 자체에 문제가 있어 처리할 수 없는 경우입니다.

  • 500 Internal Server Error: 서버 내부에서 무언가 문제가 발생했습니다. 구체적인 원인을 알기 어렵기 때문에 디버깅이 필요합니다.
  • 501 Not Implemented: 서버가 요청 메소드를 지원하지 않는 경우입니다. 예를 들어, 서버가 GET 요청만 받을 수 있는데 클라이언트가 PUT 요청을 한 경우입니다.
  • 502 Bad Gateway: 하나의 서버가 다른 서버로부터 유효하지 않은 응답을 받은 경우입니다.
  • 503 Service Unavailable: 서버가 일시적으로 서비스를 제공할 수 없는 경우입니다. 보통 유지보수나 과부하 등으로 인해 발생합니다.
  • 504 Gateway Timeout: 게이트웨이나 프록시 서버가 원래의 서버로부터 시간 내에 응답을 받지 못한 경우입니다.

12번

NIS - Settings

  • NIS 서버 설치해야함
    - ypserv
    - ypbind
    - yp-tools
yum -y install ypserv
yum -y install ypbind yp-tools

NIS 완벽정리

  • nisdomainname
    - NIS 도메인 이름을 설정하거나 설정된 이름을 표시한다
  • ypwhich
    - NIS를 이용하여 로그인 한 후, 인증에 사용된 NIS 서버를 조회한다
    - -m : NIS 서버의 map 정보를 출력한다
  • ypcat
    - NIS 서버 구성파일(맵 파일)의 내용을 확인한다
    - ypcat hosts.byname
    - ypcat passwd.byname
  • yptest
    - NIS 클라이언트에서 NIS의 동작 및 설정 등을 확인하고 도메인 명, 맵파일 목록, 사용자 계정 정보 등을 출력한다
  • yppasswd
    - NIS 서버에 등록된 사용자의 비밀번호를 변경한다
    - yppasswd nisuser
  • ypchsh
    - NIS 서버에 등록된 사용자의 셸을 변경시킨다
    - ypchsh nisuser
  • ypchfn
    - NIS 서버에 등록된 사용자의 정보를 변경한다.
    - ypchfn nisuser

13번

NFS

  • exportfs -v
    - NFS 서버에서 외부로
    - NFS 서버에서 외부에 공유된 내용을 세부적인 설정 정보를 포함해서 자세히 출력한다
  • showmount -e 192.168.12.22
    - NFS 클라이언트에서 서버로
    - NFS 클라이언트에서 NFS 서버인 192.168.12.22의 공유된 정보를 확인
  • rpcinfo / nfsstat -r
    - rpc 관련 정보 확인
  • nfsstat
    - NFS 서버 또는 NFS 클라이언트에서 NFS 관련 상태 정보를 출력한다.

14번

/etc/samba/smb.conf

  • 기본적으로 열람할 수 있는 정보들
[global]
        workgroup = SAMBA
        security = user

        passdb backend = tdbsam

        printing = cups
        printcap name = cups
        load printers = yes
        cups options = raw

[homes]
        comment = Home Directories
        valid users = %S, %D%w%S
        browseable = No
        read only = No
        inherit acls = Yes
        
[printers]
        comment = All Printers
        path = /var/tmp
        printable = Yes
        create mask = 0600
        browseable = No

[print$]
        comment = Printer Drivers
        path = /var/lib/samba/drivers
        write list = @printadmin root
        force group = @printadmin
        create mask = 0664
        directory mask = 0775

/etc/samba/smb.conf.example

  • smb.conf로 설정할 수 있는 example이 내장되어있다.

smb.conf 정리

  • 삼바는 리눅스와 윈도우 사이 파일 공유할 때 씀.
  • smb.conf는 3가지 섹션으로 나누어져있음
    - [global] : 삼바 서비스의 전체 설정
    - [디렉토리명] : 해당 디렉터리에 대한 공유 설정을 저장.
    - ex) [home]
    - [printers] : 프린터 공유 방식을 설정

global 섹션 옵션

  • workgroup
    - 공유 그룹명
  • server string
    - 서버에 대한 설명
  • netbios name (암기필요)
    - 윈도우 이름을 이용하여 접속하고자 할 때
  • interfaces (암기필요)
    - 여러 개의 네트워크 인터페이스를 갖고 있을 경우 어떠한 것을 이용할 지 설정한다. 이 때, lo(localhost)는 생략할 수 없다.
    - ex) interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
  • hosts allow (암기필요)
    - 삼바 서버에 접근할 수 있는 호스트를 지정하며, 접근 통제의 역할을 수행한다.
    - ex) hosts allow = 127. 192.168.12. 192.168.13. EXCEPT 192.168.1.11
    - 127. 대역, 12.대역, 13. 대역은 접속 허용하나, 11. 대역은 허용X
  • log file (암기필요)
    - 삼바 서버의 로그 파일을 지정한다
    - 기본 값 : log file = /var/log/samba/log.%m
  • max log size (암기 필요)
    - 로그 파일의 최대 크기를 kb 단위로 설정한다
    - ex) max log size = 50
  • security
    - 클라이언트가 삼바 서버에 접근할 때 인증 레벨을 부여하는 보안 옵션을 설정한다
    - 기본값 : security = user
  • passdb backend
    - security가 user일 경우 사용하는 패스워드 저장 방식을 지정
    - 기본값 : passdb backend = tdbsam
  • hide dot files = no
    - 리눅스 숨김 파일이 윈도우 운영체제의 파일 목록에 표시된다

security 옵션

  • man smb.conf | grep security로 security의 옵션 열람 가능.
  • user
    - 삼바 서버에 접속할 시, os에 로그인한 사용자 명으로 패스워드를 확인한다
  • share
    - 인증 없이 삼바 서버에 접근할 수 있다
  • server
    - 윈도우 서버와 같은 다른 삼바 서버 에 사용자명과 패스워드를 전달하여 확인한다
  • domain
    - 윈도우 서버의 도메인 컨트롤러 에 사용자명과 패스워드를 전달하여 확인한다

ShareDefinition : 공유 폴더의 주요 설정 옵션

  • [디렉터리 이름]
    - 공유 폴더 이름을 지정한다
  • read only = yes
    - 읽기만 가능하도록 설정한다
  • writable = yes
    - 쓰기도 가능하도록 설정한다
  • write list = [사용자 명]
    - 쓰기 가능한 사용자를 지정한다
    - @를 앞에 붙여 그룹을 지정할 수 있다
    - write list = smbuser @manager
  • valid users = [사용자 명]
    - 접근 가능한 사용자를 지정
    - 만일 별도로 지정하지 않을 경우 전체 사용자가 접근 가능하게 된다.
  • public = no
    - 개인 사용자만 사용할 수 있도록 설정한다
  • browseable = no
    - 이용 가능한 공유 리스트에 표시되지 않도록 설정한다
  • follow symlinks = no
    - 심볼릭 링크를 따르지 않도록 설정하여 잠재적인 보안 위협을 제거한다
  • printable = yes

15번

/etc/mail/virtusertable

  • 유저@도메인 유저
  • 적용하는 법
    - makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable
  • 정답
    - webmaster@linux.com ihduser
    - webmaster@windows.com kaituser

16번

풀이

  • /etc/hosts.allow
    - tcp에서 allow할 호스트 확인
  • ALL : ALL
    - 전부 허용
  • in.telnetd: 192.168.5.13
  • sshd: 192.168.5.0/24

TCP_Wrapper 개념

  • 접근 제어
  • /etc/hosts.allow
  • /etc/hosts.deny
  • /etc/hosts.allow → /etc/hosts.deny 방식으로 이루어짐.
    - 두 규칙이 중복되면 deny 규칙은 무시된다.

hosts.allow 예시

  • ALL : 192.168.9.0/255.255.255.0
    - 192.168.9.0 대역 모든 접속을 허용함
  • ALL EXCEPT in.telnetd : ALL
    - in.telnetd를 제외하고 모든 접속을 허용함
  • in.telnetd : .youngjin.com EXCEPT www.youngjin.com
    - www.yungjin.com 을 제외한 모든 .youngjin.com에서의 접속을 허용함
  • sshd : 192.168.9.7 : severity local0.alert
    - 192.168.9.7에서 sshd 서비스를 사용할 수 있도록 설정하되, syslog를 기록한다
  • sshd : 192.168.9.2 : deny
    - hosts.allow에 설정되어 있으나 deny를 통해 접근을 금지할 수 있음

hosts.deny 예시

  • in.telnetd : 192.168.9.10 : twist /bin/echo "%a is denied"
    - 192.168.9.10 호스트가 telnetd 서비스를 사용하지 못하도록 하며, 접속 시도시 메시지를 전달한다.
profile
개발자 블로그 ^0^
post-custom-banner

0개의 댓글