BigData_Off1/리눅스2

Remote Service 1(①Centos 버전 비교 ②Systemd/Service 작동법 ③remoSvc1(telnet) ③-2 방화벽(GUI))

오정oI 2018. 1. 16. 14:59
반응형
SMALL

* 강사님 정리 노트 :

1월16일_4평일리2.txt

* CentOS 7 vs. CenOS 6

CentOS 7 이전(CentOS 6.x 이하)

sysinit 스크립트가 RunLevel(런레벨 : 부팅 운영레벨)과 서비스 관리를 위해 사용되었음
/etc/rc.d/init.d 디렉터리를 사용하고 명령어로는 service와 chkconfig 등을 사용함
- 프로세스간의 통신은 D-Bus에서 담당(socket)
- 전통적인 sysinit의 경우 서비스 감시 기능이 부족했다는 점
- 서비스간의 종속성을 관리하지 못한다라는 점
-복잡한 스크립트를 필요로 했다라는 점

CentOS 7 현재

systemd 리눅스 배포판에서 기본 서비스 관리와 시스템 매니저로 채택
sysinit와 호환되기 때문에 동시에 사용할 수 있음
- 부팅 시 실행되는 서비스를 최소화 시키며 순차적으로 진행되는 방식이 아닌 병렬화 방식으로 진행함
- 부팅 속도가 빨라졌으며 로그 관리, 하드웨어 및 커널의 Control Group과 같은 지원을 한다라는 장점
systemd는 /lib/systemd/system/(/usr/lib/systemd/system) 디렉터리와 /etc/systemd/system 디렉터리를 사용하고 명령어로는 systemctl을 사용함

 

[sysinit 부팅 과정]

[systemd 부팅 과정]

 

 

* Systemd 구성요소

 

리눅스 커널

- 서비스(daemon)를 사용하게 위해서는 먼저 리눅스 커널에서 이 서비스를 지원하는 옵션이 활성화 되어있어야 함

옵션은

CGroup(Control Group)

→ Process ID 대신에 프로세스를 추적하기 위해서 사용

 

Autofs

→ 파일 시스템을 자동으로 마운트 하기 위해서 사용

 

D-bus

→ 어플리케이션 간에 일대일 통신을 지원하기 위해 사용되는 커널의 기능

 

system 라이브러리

- 커널에서 systemd를 지원하기 위한 옵션이 활성화되면 여러 시스템 라이브러리가 설치되어야

systemd를 사용할 수가 있음

(libpam, libcap, tcpwrapper, ... 등등)

 

systemd 코어

- service, socket, mount와 같은 모든 system unit를 관리할 뿐 아니라 모든 log(기록) 데이터를 저장하는 역할

- 이 코어부분은 systemctl와 systemd 유틸리티가 담당

 

systemd 데몬과 타겟

- systemd 서비스를 제공하는 데몬으로써 systemd가 사용 됨

- 시스템 실행모드를 target으로 poweroff, rescue, reboot 등

 

systemd 유틸리티

- systemd가 제공하는 모든 기능을 사용자가 실제로 사용 가능하게 하는 유틸리티로

systemctl에서 사용 됨

 

 

 

* Service(daemon) 작동 방법

Centos 7 이전 (Centos 6.x 이하) 

CentOS 7 (현재) 

 service SERVICE(daemon) start

 systemctl start SERVICE(daemon)

 service SERVICE(daemon) stop

 systemctl stop SERVICE(daemon) 

 service SERVICE(daemon) restart

 systemctl restart SERVICE(daemon) 

 service SERVICE(daemon) reload

 systemctl reload SERVICE(daemon) 

 service SERVICE(daemon) status

 systemctl status SERVICE(daemon)

 systemctl is-active SERVICE(daemon)

 

* Remote Service(원격 서비스)

> Telnet(remoSvc1)

- 시스템 관리를 하는데 있어서 해당 시스템이 내 앞에 없어서 마치 내 앞에 있는 것처럼

사용하여 관리를 할 수 있음

 

첫번째, 원격 서비스

Telnet

 

- 패킷을 전송할 때 평문으로 전송함

(즉! 암호화 되어있지 않음)

- 비암호화 프로그램

- 테스트 용도(암호화 필요 없는 곳에서)

- 포트 23번

- 기본적으로 root 접속을 허용하지 않게 설정되어 있음

- 한글지원 안함

 

[연습]

Windows OS에서 CentOS 7 로 telnet을(원격 서비스) 사용해보기

    Client             Server

 

준비물

cmd창

 

사용형식

1) telnet 입력 후 enter

open Server-IP

 

2) telnet Server-IP

 

[cmd]

Error1 >

(참고로 telnet 명령어를 입력 후 에러 메시지가 나오면 ('telnet'은(는) 내부 또는 외부 명령,

실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다.) 아래와 같이 작업하세요

Windows OS -> 시작 -> 제어판 ->  보기 기준 : 범주 -> 프로그램 ->

프로그램 및 기능 : Windows 기능 사용/사용 안 함 -> 텔넷 서버와 텔넷 클라이언트 항목 ->

텔넷 클라이언트에 체크 -> 확인

( ∵ 윈도우에서 리눅스로 들어갈거기 때문에)

확인했는데도 에러 메시지가 나온다면 Windows OS를 재부팅 함

 

Error 2>

! 리눅스 방화벽 문제 해결

1) 방화벽 설정 (GUI)

관리자로 로그인 → 프로그램 → 잡다 → 방화벽

영역 → 서비스 → telnet 선택

 

Error 3>

동일 에러

리눅스에 telnet 패키지 설치

 

<실습> cd-rom 마운트 해서 rpm 해보기!

① cd-rom 삽입 : vm > settings> cd/dvd > x86~ everything 선택

② mount 확인

[root@junga ~]# rpm -qa | grep telnet
[root@junga ~]#
[root@junga ~]# mount | tail -1
/dev/sr0 on /run/media/root/CentOS 7 x86_64 type iso9660 (ro,nosuid,nodev,relatime,uid=0,gid=0,iocharset=utf8,mode=0400,dmode=0500,uhelper=udisks2)
[root@junga ~]#
[root@junga ~]# df -h | tail -1
/dev/sr0        8.1G  8.1G     0 100% /run/media/root/CentOS 7 x86_64
[root@junga ~]#

③ mount point 너무 길어서 umount, mkdir 후 다시 mount
[root@junga ~]# umount /dev/sr0
[root@junga ~]#
[root@junga ~]# mkdir /cdrom
[root@junga ~]#
[root@junga ~]# mount /dev/cdrom /cdrom
mount: /dev/sr0 is write-protected, mounting read-only
[root@junga ~]#
[root@junga ~]# mount | tail -1
/dev/sr0 on /cdrom type iso9660 (ro,relatime)
[root@junga ~]#
[root@junga ~]# df -h | tail -1
/dev/sr0        8.1G  8.1G     0 100% /cdrom
[root@junga ~]#
[root@junga ~]#

③ telnet 패키지 설치

[root@junga ~]# cd /cdrom
[root@junga cdrom]#
[root@junga cdrom]# ls
CentOS_BuildTag  GPL       RPM-GPG-KEY-CentOS-7          images
EFI              LiveOS    RPM-GPG-KEY-CentOS-Testing-7  isolinux
EULA             Packages  TRANS.TBL                     repodata
[root@junga cdrom]#
[root@junga cdrom]# pwd
/cdrom
[root@junga cdrom]# cd Packages/
[root@junga Packages]#
[root@junga Packages]# ls telnet*
telnet-0.17-64.el7.x86_64.rpm  telnet-server-0.17-64.el7.x86_64.rpm
[root@junga Packages]#
[root@junga Packages]# rpm -ivh telnet-0.17-64.el7.x86_64.rpm
준비 중...                         ################################# [100%]
Updating / installing...
   1:telnet-1:0.17-64.el7             ################################# [100%]
[root@junga Packages]#
[root@junga Packages]# rpm -ivh telnet-server-0.17-64.el7.x86_64.rpm
준비 중...                         ################################# [100%]
Updating / installing...
   1:telnet-server-1:0.17-64.el7      ################################# [100%]
[root@junga Packages]#
[root@junga Packages]#
[root@junga Packages]# rpm -qa | grep telnet | nl
     1 telnet-server-0.17-64.el7.x86_64
     2 telnet-0.17-64.el7.x86_64

④ telnet Service 시작

[root@junga Packages]# systemctl is-active telnet.socket
active
[root@junga Packages]# systemctl restart telnet.socket
[root@junga Packages]#
[root@junga Packages]# systemctl is-active telnet.socket
active

[root@junga Packages]# systemctl -l status telnet.socket
● telnet.socket - Telnet Server Activation Socket
   Loaded: loaded (/usr/lib/systemd/system/telnet.socket; disabled; vendor preset: disabled)
   Active: active (listening) since 화 2018-01-16 15:11:41 KST; 43s ago
     Docs: man:telnetd(8)
   Listen: [::]:23 (Stream)
 Accepted: 0; Connected: 0

 1월 16 15:11:41 junga.kgitbank systemd[1]: Stopping Telnet Server Activation Socket.
 1월 16 15:11:41 junga.kgitbank systemd[1]: Listening on Telnet Server Activation Socket.
 1월 16 15:11:41 junga.kgitbank systemd[1]: Starting Telnet Server Activation Socket.
[root@junga Packages]#

 

⑤ 관리자 로그인

접속 안됨

접속 안되게 설정 되어 있음!

만약 되면 보안성 떨어짐

 

⑥ 사용자 로그인

접속 OK~!

반응형
LIST