Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

나의 IT일지

리눅스와 가상 머신 본문

정보보안

리눅스와 가상 머신

세레프 2023. 6. 2. 23:00

리눅스

 

운영체제와 Linux

Linux란 개발자가 개발을 할 때 사용하는 운영체제이다. 이때, 운영체제는 무엇이며, 어떤 역할을 하는지, Linux가 무엇인지 알아야 한다. 운영체제 운영체제란 사용자가 컴퓨터의 시스템 자원(CPU,

my-it-diary.tistory.com

 컴퓨터는 운영체제를 통해 하드웨어의 성능에 따른 파일이나 동영상, 게임등 프로그램을 사용할 수 있다. 즉, 운영체제CPU, 메모리카드 , 그래픽카드등 기기들을 가동, 제어시켜, 프로그램이 각종 작업을 할 수 있는 환경을 마련하는 프로그램으로, 하드웨어와 사용자를 연결하는 중재 역할을 한다. 

 

 리눅스프로그램을 작업, 실행할 수 있는 환경을 제공해 주는 운영체제 중 하나로, 우리가 기본적으로 사용하는 윈도우 는 클라이언트가 사용하기 쉽게 사용할 수 있도록 만들어진 운영체제라면, 리눅스는 서버나 개발자가 사용하기 위해서 만들어진 운영체제이다. 

 

 운영체제에는 그래픽 기반으로 사용자 인터페이스를 표현GUI와 텍스트, 명령어를 기반으로 인터페이스를 구현TUI(CLI)가 있다. GUI는 아이콘, 툴바, 버튼 같이 그래픽을 통해 사용자와 상호작용하며, 윈도우가 GUI를 사용한 운영체제이다. 반면, TUI는 프롬프트에 명령어를 입력해서 사용자와 상호작용하며, 리눅스가 TUI를 위주로 사용한 운영체제이다. 

 

 리눅스는 모든 버전이 오픈소스 형태로 운영되며, 무료로 사용할 수 있다. 이때, 오픈소스소프트웨어의 소스코드가 공개되어 있는 것을 뜻하며, 소프트웨어를 자유롭게 수정및 추가, 삭제가 가능하다. 그래서 리눅스는 오픈소스 라이센스에 따라 다음과 같은 규약, 정책을 지켜야 한다.

  • BSD : 아무렇게나해도 상관없는 라이센스
  • GPL : 상업적으로 사용시 모든 소스코드를 공개한다는 General Public License 자유소프웨어 정책  
  • LGPL : 모듈 및 라이브러리만 사용할경우 상업적 사용시 소스코드 공개 할 필요 없다는 정책  
  • MIT : copyright(참조) 와 license에 대한 정보만 표기하면 자유롭게 사용할 수 있는 라이센스

 

 리눅스의 구조는 컴퓨터의 구성인 하드웨어를 시작으로, 명령어를 통해 하드웨어를 실행할 지 결정하는 커널, 사용자의 명령을 프로그램이 읽을 수 있는  2진수로 변경하는 쉘, 사용자의 명령을 수령하는 응용프로그램으로 구성 되어 있다.

 그래서, 응용프로그램에 명령을 부여하면, 해당 명령어는 쉘에서 사용자의 명령을 해석하고, 이 해석된 명령어를 커널에게 전달된다. 그래서 커널을 통해 메모리 및 시스템 자원 관리한다.

 즉, 리눅스데이터를 효율적으로 관리되는 운영체계로, 오픈 소스로 열려있어서, 사용자 설정이 자유로운, 무료로 사용할 수 있는 UNIX 의 개인화 소형화 OS이다.

 

리눅스 디렉토리

 컴퓨터에는 데이터를 저장할 수 있는 공간인 스토리지가 있다. 스토리지란 하드디스크와 같이 데이터를 저장하는 공간으로, 스토리지의 연결방식과 파일시스템의 위치에 따라 구성방식이 달라지고 있다.

  • Das : 물리적으로 연결한 스토리지, 파일 시스템이 서버에 설치 되어 있다.
  • Nas : 네트워크를 통해 연결되어 공유되는 저장소, 파일 시스템이 스토리지에 설치 되어 있다. 
  • SAN :  Nas와 Das의 혼합형태,  네트워크로 연결되어 있으며, 파일 시스템이 각 각 서버에 설치되어 있다.

파일 시스템
 스토리지에 있는 파일을 운영체제가 가장 활용하기 좋은 형태로 바꾸기 위해 사용하는 시스템 으로, 리눅스는 대부분 xfs(대용량 파일 시스템),  ext4(저용량 파일시스템)를 사용한다.

 이렇게 생성된 스토리지는 파일과 디렉토리를 저장하게 된다. 디렉토리 경로를 통해, 파일을 기능에 따라 묶어놓은 묶음으로, TUI에서는 디렉토리라고 하지만 GUI에서는 폴더라고 한다. 

리눅스 디렉토리 명 기능 윈도우 폴더 명 특징
/ 최상위 디렉토리 C:  
boot/ 부팅 파일 저장소 boot.ini  
bin/, sbin/ 명령어 저장소 (bin/(기본 명령어), sbin/(시스템 명령어)) C:\windows\system32
C:\windows\wow64
쉘에 명령어 입력하면, 해당 디렉토이의 같은 이름 파일이 실행
/home 사용자 홈 디렉토리 집합소 c:\users  
/root 관리자 홈 디렉토리   관리자
로그인 위치
/home/사용자명 해당 사용자 홈 디렉토리 (일반 사용자 로그인 위치) c:\users\사용자명 일반 사용자
로그인 위치
/etc  서버 관리및 시스템 설정파일 저장소    
/dev 장치파일이 연결되는 저장소    
/etc 서버 관리및 시스템 설정파일 저장소    
/media  자동 연결시 기본장치(hhd, cd-rom)가 연결되는 장소    
/mnt 자동 연결시 원격장치(무선 마우스)가 연결되는 장소    
/usr 응용프로그램(추가적으로 설치되는 프로그램) 저장소   해당 유저가 사용할 수 있는 명령어는 디렉토리가 해당 디렉토리에 있음
/proc  kernel,가상화,프로그램 등 동작중인 프로그램 정보 저장소    
/var 자주 변경(업데이트)되는 누적되는 정보 저장소   비 휘발성
/lib 프로그래밍 언어를 해석하는 기능 파일 저장소   기능파일(리눅스)
(컴파일러, 모듈)
 = DLL(윈도우)
 (동적 언어 연결)
/tmp 임시저장소    

 

가상 머신

 운영체계를 운영헤서 서버를 증축하거나, 데이터를 효율적으로 관리하기 위해서는 해당 운영체제를 실행 할 수 있는 컴퓨터가 필요하다.

 하지만 실제 컴퓨터를 사용해서 보안관련 시뮬레이션을 하다가, 실제로 보안 관련 문제가 발생하는 경우가 있다. 그래서 가상머신을 이용해서 실제 컴퓨타와 다른 컴퓨터로 만들어서 실제 컴퓨터의 데이터를 보존하면서 시뮬레이션 하기 위해서 사용한다. 

 

Download VMware Workstation Pro

VMware Workstation Pro is the industry standard desktop hypervisor for running virtual machines on Linux or Windows PCs. Discover why.

www.vmware.com

 설치가 끝나고, 실행하면 다음과 같은 창이 나타난다. 

 그리고 Create a New Virtual Machine을 들어가면 다음과 같은 창이 나타난다.

 해당 가상 컴퓨터는 커스텀으로 제작할 예정이며, 과정은 다음과 같다.

1. 가상 컴퓨터의 호환 버전 2. guestOS 설치 방법 3. guestOS 종류
4. 가상 컴퓨터 설치 위치와 이름 5. CPU 사용 갯수와 1개의 CPU 분할 수 6. RAM 카드 용량
7. 가상 컴퓨터의 사용할 네트워크 타입 8. 디스크의 입출력 동작 방식 9. 사용할 디스크 타입
10. 사용할 디스크 11. 디스크 용량 12. 디스크 파일 이름
  • 가상 컴퓨터의 사용할 네트워크 타입
    1. bridge : 일반 컴퓨터의 네트워크 대역 사용 타입으로, 가상 컴퓨터가 다른 일반 컴퓨터와 통신 가능
    2. nat : 일반 컴퓨터와 다른 자체 사설 네트워크를 생성하는 타입으로, 가상 컴퓨터가 다른 일반 컴퓨터와 통신 불가능하지만 인터넷은 일반 컴퓨터를 통해 사용 가능
    3. host-only : 일반 컴퓨터와 다른 자체 사설 네트워크를 생성하는 타입으로, 가상 컴퓨터가 다른 일반 컴퓨터와 통신 불가하며, 인터넷은 일반 컴퓨터를 통해 사용 불가능하다.
bridge

nat

host only

 위의 과정이 종료되면, 다음과 같은 창이 나타나며, 만약 추가 설정이 필요하면, Customize Hardware를 통해 수정하면 되며, CentOS 7을 다운받아서 해당 가성 머신에 적용시킨다.

가상 컴퓨터와 클라우드
가상 컴퓨터 클라우드
 하나의 컴퓨터에 여러개의 컴퓨터를 논리적으로 설치하는 기술
 → 하나의 컴퓨터에 가상화된 컴퓨터를 1개씩 만드는 것
여러 대의 컴퓨터가 논리적으로 하나의 도매인으로 묶여있는 환경
→ 여러 컴퓨터를 중앙집중적으로 관리하는 환경
X [종류]
SaaS : 네트워크,장비, 운영체게 ,개발환경, 프로그램 가상화
  클라이언트
PaaS : 네트워크,장비,운영체제, 개발환경 가상화
  개발자
IaaS : 네트워크, 장비 가상화    
  서버

 

Centos 7 설치

 CentOS는 레드햇 라눅스를 기술 지원없이 무료로 배포한 버전으로, RHEL의 기술을 그대로 사용할 수 있다.

 ISO파일을 다운받아야 되는데, 아래의 패널에 들어가서 설치하면 된다.(패널에 들어가서 centos linux에 들어간 뒤, x86_64를 클릭한 후에 위의 4개 링크중 1개 들어가서 CentOS-7-x86_64-Everything-2009.iso를 다운받으면 된다.)

 

The CentOS Project

DevConf.US Dojo Jun 10, 2022 — CentOS is hosting an in-person Dojo at DevConf.US. The Dojo will take place at Boston University on August 17, the day before the main DevConf talks. The CFP and registration are open. The Dojo is free as always, but regist

www.centos.org

 파일 선택하고 Finish 누르면, OS가 가상머신에 설치 될 준비가 된 것이며,VMware를 실행하면, 언어를 한국어를 선택하면, 다음과 같이 화면에 나타난다.

  • 소프트웨어 선택
    • Gnome 데스크탑
      1. Gnome 응용프로그램
      2. 호환성 라이브러리                             
      3. 레거시 X windows 시스템호환성

 

  • 파티션 설정
    1. 표준파티션 
    2. /boot  => 400M => 파일시스템 ext4
    3. /home=> 400M => 파일시스템 ext4
    4. /var    =>8G    => 파일시스템 ext4
    5.  /usr     =>15G    => 파일시스템 ext4
    6.  swap  => 4096  => 파일시스템 swap 
    7. /        =>         =>  파일시스템 ext4
1. OS를 설치할 디스크 선택 2.  파티션 할당 3. 파티션 설정
swap
 하드디스크의 일부 용량을 메모리공간으로 사용하는 가상메모리로, 많은양의 자료가 메모리에 들어올 경우 잠시 저장하는 공간 pc의 overflow를 방지하기 위해서 사용하고 있다.

 

  • 네트워크 설정 : 끔   킴

'정보보안' 카테고리의 다른 글

파일 내용 출력 및 파일 내용 편집  (0) 2023.06.07
리눅스 싱글 부트와 기본 명령어  (0) 2023.06.05
TCP 통신 과정과 프로토콜 헤더  (0) 2023.06.02
OSI 7계층과 장비  (1) 2023.05.31
네트워크와 IP 주소  (0) 2023.05.30
Comments