klaus

[KDT-DAY_15] Linux (feat. 데몬, HW명령어) 본문

수업/KDT

[KDT-DAY_15] Linux (feat. 데몬, HW명령어)

klus! 2023. 1. 15. 19:51

1. 데몬(Daemon)

 

- 네트워크를 통해서 mail, database, web, dns, nis, 그리고 dhcp 등 서버 서비스를 제공하는 프로그램

- 데몬들은 대부분 잘 알려진 포트(well-known port)를 사용하며, 메모리 상주하여 서비스를 하고

  클라이언트 측에서 서비스를 요청하면 클라이언트와 임의의 포트(dynamic port)를 사용하여 통신한다.

  ==> Passive
- 단독(standalone)/ 슈퍼(super) 데몬가 있으며, 시스템 자원 또는 사용 빈도에 따라 설정한다.

- 데몬명은 대부분 httpd, sshd, smtpd식으로 ‘서비스명 뒤에 d가 붙는다.

 

1) 단독 데몬

- 웹, 데이터베이스, 메일 서버 등 서버는 서비스 데몬마다 인스턴스(객체)를 메모리에 계속 상주시켜서

  연결 요청에 대기시키고, 부가적으로 연결 소켓을 처리하는 루틴도 각 서비스마다 메모리에 대기시켜놓아야 하는 구조

  ==> 시스템 리소스를 많이 차지하여 단독으로 사용 (예 : oracle DB)
  ==>단독 데몬은 service httpd start식으로 해당 데몬을 직접 지정해서 서비스를 시작시킨다.

 

2) 슈퍼 데몬

 

- 단독 데몬의 비효율 적인 서비스를 통합으로 관리

- 주요 사용하는 서비스는 rsync, telnet, ssh, proxy, dns, dhcp 등 있으며,  각 데몬마다 인스턴스를 xinetd라는

  데몬으로 묶어 메모리에 상주한다.

 - 클라이언트 측에서 자식 데몬 서비스를 요청하면, 슈퍼 데몬이 확인하여 해당 서비스 데몬의 소켓을 열어

   차일드 데몬과 연결시켜주는 구조

-  xientd는 시스템이 부팅할 때 /etc/xientd.d 디렉터리에 자신이 관리하는 차일드 데몬 rsyncd, telnetd, sshd, ftp

   등을 넣어두고 읽어 들이는데, 차일드 데몬 서비스를 내부 서비스로도 부른다. 
   =>예를 들어 telnet인 경우 외부에서 23번 포트로 요청이 들어오면 슈퍼 데몬이 요청을 받아서 자신의 차일드

       데몬인 telnet 데몬만 실행시켜서 서비스를 제공시키므로 여러 프로세스를 실행시켜 둘 필요가 없다. 따라서 메모리 소비가 줄므로 시스템의 효율이 좋아진다. 

 

[+] 실습

- telnet / xientd 설치

참고 : telnet은 평문 /ssh는 암호화 연결

 

- telnet를 xinetd.d에서 사용할 수 있도록 설정

 > 설정파일 생성 : nano /etc/xinetd.conf 설정파일

     

> includedir /etc/xinetd.d 

   ==> 디렉토리 연결하기 (PHP include와 같음) 경로 설정

 

- xinetd.d/telnet 파일을 생성하여 아래와 같이 작성

 

더보기

service telnet

{

 disable  =  no

 flags = REUSE

 wait = no

 socket_type = stream

 user = root

 server = /usr/sbin/in.telnetd

 ##server-args = /etc/xinetd.conf

 log_on_failure += USERID

}

 

- xinetd 재시작 및 서비스 확인

- systemctl restart xinetd && systemctl status xinetd

- 방화벽설정

> firewall-cmd --permanent --zone=public --add-port=23/tcp   23포트 추가

> firewall-cmd --reload 재시작

> firewall-cmd --list-all 리스트 확인 

- telnet 접속 (ubuntu)

> ubuntu에서 telnet을 사용하여 centos로 접속

[error]

- 정상접속

 

 

[+] ftp서비스 

먼저, xinetd에 파일을 설정해주었습니다.

더보기

service ftp

{

disable =no

socket_type = stream

user = root

server = /usr/sbin/vsftpd

server_args = /etc/vsftpd/vsftpd.conf

}

- ftp설치

> yum -y install vsftpd ftp

 

- /etc/vsftpd/vsftpd.conf 파일에서

- nano -c /etc/vsftpd/vsftpd.conf

  listen = no로 되어 있으면 됨

 

 

 

 

anon_up 주석 풀기

 

- systemctl restart xinetd 서비스 재시작

- nestat -nltp |grep 21

- 방화벽 설정

> firewall-cmd --permanent --zone=publuc --add-port=21/tcp

> firewall-cmd --reload

> firewall-cmd --list-all

- ubuntu에서 FTP 접속

- 설치 확인 apt -y install ftp

 

[error] ftp: connect: Connection refused

 - 제대로 연결되지 않아 연결 오류 발생하였음

 

[연결성공]

- 연결된 상태에서ls == FTP에 연결된 PC      !ls == 자신의 PC

-

2. 하드웨어 관리

 - 하드웨어를 Linux에 마운트할 때에는 파일타입을 지정하는데- 
NFS는 nfs(Linux 머신끼리 /etc/exports를 통해서 디렉터리를 공유할 때)로 지정하면 된다. 
mount -t iso9660 /dev/sr0 /DVD식으로 해서 DVD를 /DVD 마우트 포인터로 마운트한다.
mount -o remount,ro /dev/sdb1식으로 USB(/dev/sdb1)를 읽기전용으로 마운트한다.  

부팅 시 자동 마운트는 /etc/fstab 파일에서 설정해주면 된다.
/dev/sdb1  /USB   ext4    defaults  0           1
장치명    마운트포인트 포맷타입 마운트옵션   백업여부(0,1) 확인(/, /이외, x:0,1,2)
=>/dev/sdb1은 blkid 해서 나온 값을 사용해서  
UUID=141412d4-9ff7-4986-8e60-5a5adeb1a7d9식으로 해주고 나머지는 그대로 써주는 것이 더 좋다.

 

[+] parted

- 파티션을 생성하는 명령어

- fdisk는 2TB이하 (MBR)에서 사용하고 parted는 2TB이상(GPT)

==> MBR,GPT는 파티션 스타일 

사용 방법

- parted /dev/sdb 

 

 

 

 

 

 

 

 

 

 

 

 

 

badblocks

물리적으로 손상된 배드 블록 검사 명령어

 

 

badblocks -v /dev/sdb1으로 bad blocks를 확인 할 수있다.

 

 

 

mkfs.xfs /dev/sdb1

 

 

 

Disk Quotas

리눅스는 멀티 사용자 시스템이라고 할 수 있다 이럴 때 특정 사용자.그룹 등 용량을 분배하여 관리해 줄 수있다.

 

자동으로 마운트되는것을 설정

 

 

마운트 확인

 

 

 

 

 

 

q

 

lim

grace == 유예기간

 

 

 

 

 

 

 

 

 

quota

 '몫'이라고 번역되는 Quota로 사용자/그룹 생성하여 파일의 용량 및 개수 제한하는  기능입니다. rpm -qa quota를 사용하여 설치되었는 지 확인하고 yum install quota로  설치하여야합니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

NAS

Disk Quota

RAID

LVM

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Comments