Time for Security

블로그 이미지
제가 교육을 받으며 이해한 보안 지식을 복습하고, 정리해가는 작은 블로그입니다.
by 하꼬방
  • Total hit
  • Today hit
  • Yesterday hit

'리눅스'에 해당되는 글 17건

  1. 2017.07.24
    2017.07.24 교육 08일차 - 사용자 및 그룹관리
  2. 2017.07.24
    [리눅스] 하드링크 및 심볼릭링크
  3. 2017.07.23
    [리눅스] 디렉토리 및 파일 내용 변경
  4. 2017.07.19
    [리눅스] 유닉스의 특징
  5. 2017.07.19
    2017.07.19 교육 05일차 - 파일 및 디렉토리 검색
  6. 2017.07.18
    [설치] VMware Workstation 및 CentOS 7 설치
  7. 2017.07.17
    2017.07.17 교육 03일차 - 리눅스 입문

 2주차가 된 월요일입니다! 


 사실 정확히 따지면 3주차긴 하지만 느낌상은 2주차네요.


 8일차기 때문이죠... 


 아침에 비가 조금 내리는 바람에 늦을 뻔 했습니다.


 비가 많이 내리는 요즘 앞으로는 조금 더 일찍 나오도록 해야겠습니다.


 그리고 새로운 주가 시작되는 오늘은 새로운 강사님께서 오셨습니다.


 앞으로 한주간 배울 내용 또한 저번주와 같이 리눅스지만 저번에는 입문이었다면 이번주는 리눅스 시스템 운영 및 관리 능력을 키우는데 교육의 내용이 집중되어 있습니다.


 아래는 이번주의 교재입니다. 

 



 저번 교재에 비해 상당히 내용이 심화되었음을 느낄 수 있었습니다.


 리눅스를 이렇게 깊이 배워보진 못해 걱정반 기대반인데요.


 오늘은 이 교재에서 첫번째 장인 사용자 및 그룹 관리에서 간단히 passwd와 shadow 파일에 무엇이 있는 지 알아보는 시간을 가졌습니다.


 많은 내용을 진행하지 않은 것 같지만 앞으로 5개월을 어떻게 보내면 더 효율적으로 보낼 수 있는 지 강사님께서 설명해주셨답니다.


 하루 15시간에 가까운 공부와 프로그래밍, 자격증 등 많은 것을 들으며 조금 더 달라져 봐야겠단 생각을 했습니다.


 마음을 다시 잡으며 새롭고 재밌는 한 주가 다시 시작될 것 같습니다! 



▶ 이 블로그의 [리눅스] /etc/passwd 및 /etc/shadow 파일 보러가기

AND

 안녕하세요.


 이번 포스팅은 하드링크와 심볼릭링크입니다.


 리눅스하면 빼놓을 수 없는 핵심 개념이죠!


 이 포스팅은 많이 길지는 않을거에요!


 우선 간단히 설명하겠습니다. 


 하드링크든 심볼릭링크든 둘 다 링크입니다.


 단어에서 오는 느낌을 그대로 받는 것이 가장 좋다고 생각하는데요.


 앞선 실습에서는 파일을 복사했었는데 이 개념과는 다릅니다.


 복사되는 순간 두개의 파일은 서로 다른 것이 되는거지만 링크의 경우 하나를 변경하면 다른 하나의 내용도 똑같이 변경되는 거에요.


 먼저 하드링크를 살펴보겟습니다.


 이 하드 링크는 특정 파일이 디스크에 저장되어 있는 위치가 동일한 곳을 가리키고 있는 포인터예요.


 이 링크의 장점은 실제 위치를 똑같이 가리키고 있기 때문에 많은 링크를 만들어도 용량이 더 늘어나지는 않아요.

 


 실습을 위해 fileA를 생성하겠습니다.


 그리고 하드링크를 만들어줄건데요.


 하드링크를 만드는 명령어와 사용법은 ln (하드링크 만든 파일명) (하드링크) 입니다.


 ln은 link의 약자에요!


 하드링크가 된 후는 파일의 색이 바뀐 것을 보실 수 있습니다.


 좀 더 자세히 살펴볼게요.



 여기서 ls에 -i라는 명령어는 inode를 출력해주는 것으로 하드링크 된 파일을 살펴보면 72019830으로 두개의 노드가 서로같은 것을 볼 수 있습니다.


 이처럼 하드 링크는 링크 파일을 많이 만들어도 전부 똑같은 inode를 가지게 돼요.


 다음은 심볼릭 링크입니다.


 이 링크는 쉽게 윈도우의 바로가기를 상상하시면 이해하기 쉽습니다. 


 특정 파일 및 디렉토리를 가리키고 있는 포인터예요!



 심볼링 링크는 좀 전의 하드 링크를 만드는 명령어에 -s를 추가해주시면 돼요.


 ls명령어로 확인을 해보면 링크를 하고 있는 파일을 가리키는 화살표 표시가 보일거에요.


이번에는 inode가 서로 다른 것을 확인할 수 있습니다.



 

 여기까지 하드 링크와 심볼릭 링크에 대해 알아보았습니다.


 다음에 또 다른 내용으로 찾아뵙겠습니다. 

AND

 안녕하세요!


 오늘의 포스팅은 바로 디렉토리 및 파일 내용 변경하기 입니다!


 언제나 그렇듯! 제목이 곧 내용이죠! 하하. 


 이름은 거창하지만 오늘의 내용은 파일이나 디렉토리를 만들고 옮기는 것에 대한 것입니다.


 바로 시작해볼게요!


 먼저 저번에 배운 ls 명령어로 현재 계층에 무엇이 있는 지 알아보겠습니다.


 이번 실습은 새로운 파일과 디렉토리를 만들어주고 계속 확인해 볼 것이기 때문입니다.

 


 원래 있었던 파일들 말고 별 다른 파일은 없군요.


 그럼 파일을 하나 새로 만들어 줍시다.



 파일을 생성하는 명령어 touch 입니다.


 사용법은 touch (파일명) 이에요!


 파일을 생성해주고 ls 명령어로 확인을 해주면 내가 만든 파일이 생긴 것을 볼 수 있습니다.


 이 명령어는 빈 파일을 만들어주는 것이기 때문에 현재 fileA라는 파일안에는 그 무엇도 없습니다.



 다음은 파일을 복사하는 명령어 입니다.

 

 cp라는 명령어고, 사용법은 cp (복사할 파일명) (복사될 파일명) 입니다.


 cp는 copy의 약자입니다.


 마찬가지로 ls 명령어로 확인을 해주게 되면 fileAA가 생성된 것을 보실 수 있습니다.


 말씀드렸듯이 이번 실습에서 ls 명령어는 필수입니다.


 파일이나 디렉토리가 제대로 만들어졌는 지 확인을 해야 알 수 있잖아요? 



 다음은 디렉토리를 만들어 주는 명령어입니다.


 mkdir로 사용법은 mkdir (디렉토리 명)입니다.


 눈치채셨겠지만 mkdir은 make directory의 약자입니다.


 매번 약자를 설명하는 이유는 개인적으로 무작정 암기한 것 보다 이해하고 암기한 것인 더 오래 기억에 남기 때문입니다. 


 약자는 꼭 알아야되는 부분은 아닙니다.


 하지만 알아두면 분명 유용할거라고 생각해요.

 


 이 mkdir을 이용해 계층이 있도록 디렉토리를 한번에 여러개 만들어 주실 수 있습니다.


 위의 화면으로 설명을 드리겠습니다.


 dirB 디렉토리도 원래 없었고, 그 밑에 dirBB 디렉토리도 원래 없었습니다.


 그럴 경우 mkdir dirB후, mkdir dirB/dirBB 혹은 mkdir dirB후, cd dirB하시고, mkdir dirBB해주시지 않고,


 한번에 mkdir -p dirB/dirBB를 해주시면 됩니다.


-p라는 옵션을 꼭 붙혀주셔야 계층적으로 디렉토리를 한번에 만들 수 있답니다.



 ls -l이라는 명령어로 확인을 해보면 자세한 설명이 나오는데요.


 차이점이 느껴지시나요?


 파일은 검정글씨지만 디렉토리는 파랑글씨에요.


 그것 외에도 맨 앞을 보시면 일반 파일은 -인 반면에 디렉토리는 d라고 되어있어요.


 두가지 방법으로 파일 및 디렉토리를 구별할 수 있습니다.



 잠깐 다시 cp 명령어로 돌아와보겠습니다.


 이 cp 명령어는 현재 디렉토리가 아닌 다른 디렉토리에도 파일을 복사할 수 있습니다.


 위의 화면은 fileA 파일을 dirA 디렉토리에 복사하는 과정입니다.


 cd로 디렉토리를 변경하고, ls 명령어로 확인해보시면 fileA 파일이 생성되어 있음을 볼 수 있습니다.

 


 여러개의 파일을 동시에 복사할 수도 있는데요.


 fileB를 만들어 준 후 cp fileA fileB dirA라고 해주시면 fileA와 fileB를 dirA로 복사한다는 의미입니다.


 두개 이상의 파일도 가능합니다.


 위의 화면에서는 중간에 overwrite를 물어보는 데, 덮어쓸것이냐는 물음이에요.


 맨 처음에 fileA를 dirA에 넣어놨기 때문입니다.


 걱정하지 않으셔도 돼요!



 cp 명령어로는 파일뿐만아니라 디렉토리도 복사할 수 있습니다.


 디렉토리를 복사한다는 것은 그 디렉토리 내부의 모든 것을 복사한다는 겁니다.


 윈도우랑 똑같아요!


 실습을 위해 dirB 디렉토리를 만들어줍니다.


 복사 방법은 파일과 동일합니다.


 하지만 다른 점이 하나 있다면 -r 이라는 명령어를 추가한다는 점인데요.


 복사할 디렉토리가 아무것도 가지고 있지않다면 딱히 필요한 명령어는 아닙니다.


 하지만 하나라도 무언가를 가지고 있다면 디렉토리는 복사되지 않아요.


 그때 -r 을 추가해주시면 무조건 복사가 됩니다.



 다음은 복사가 아닌 파일 및 디렉토리를 옮기는 명령어인 mv입니다.


 move의 약자고, 사용법은 mv (옵션) (옮길 파일) (위치) 입니다.


 위의 화면은 fileA 파일은 dirB 디렉토리로 옮기는 것입니다.


 확인해보시면 제대로 이동된 것을 알 수 있어요.


 이동이기 때문에 cp와 다르게 당연히 전에 있던 곳에는 파일이 없어요!



 마찬가지로 디렉토리 역시 옮길 수 있습니다.


 방법은 똑같아요!


 디렉토리 역시 전에 있던 곳에는 디렉토리가 없어집니다.



그리고 mv 명령어의 독특한 부분이 있는데요.


그것은 바로, 파일이나 디렉토리를 옮기면서 이름을 바꿀 수 있다는 점입니다.


 위의 화면을 보시면 fileAA를 dirB 디렉토리로 이동시키며 파일의 이름을 fileAAA로 바꿔준 것입니다.



 다음은 삭제 명령어 rm 입니다.


 사용법은 rm (옵션) (삭제할 파일)이며, remove의 약자입니다.


 명령어를 사용해보시면 정말 지울 것인지 한번 물어본답니다.


 윈도우에서도 정말 지울 것이냐고 한번 더 물어보는 것과 똑같아요.



 마찬가지로 디렉토리 또한 지워집니다.


 디렉토리 내부의 모든 것을 지우는 것이기 때문에 모든 파일 혹은 디렉토리에 대해서 일일이 지울 것인지 말것인지를 물어봐요.


 디렉토리를 지우는 명령어는 또 다른 하나 rmdir이 있는데요.


 이 명령어는 디렉토리 밑에 무언가 있으면 절대 지울 수가 없습니다.


 그래서 일부러 설명드리지 않았어요.


 rm이 파일도 되고, 디렉토리도 되기 때문에 더 편하답니다.




 여기까지 디렉토리 및 파일 내용 변경에 대한 포스팅이었습니다.


 긴 글 읽어주셔서 감사합니다.


 다음에는 더 알찬 내용으로 돌아오겠습니다. 

AND

 오늘은 유닉스의 특징에 대해 포스팅을 해보겠습니다. 


 보통의 사용자들이 쓰는 OS는 리눅스일텐데요.

 유닉스는 이 리눅스의 기반이 된 운영체제입니다.


 이 유닉스의 특징은 크게 다섯가지가 있습니다.


 첫째. 높은 이식성과 확장성입니다.


 현존하는 운영체제 중 가장 이식성이 높은 운영체제이며, SPARC, ALPHA, Power PC는 물론 x86과 APM 계열의 시스템에서도 이식이 용이합니다.

 그리고 서버에서 사용되는 CPU 뿐 아니라 임베디드 시스템 등에서도 널리 사용되고 있습니다.


 둘째. 안정성과 신뢰성입니다.


 오랜 기간 발전해 오면서 그 안정성을 인정받고, 위협으로 부터 대응하기 위해 업계 표준의 다양한 보안 기능을 탑재하고 있습니다.


 셋째. 다중 사용자 지원입니다.


 동시에 여러 사람이 동일 시스템에 접속하여 사용할 수 있고, 보통 네트워크를 통해 접속합니다.


 넷째. 다중 작업 지원입니다.


 한 시스템 내에서 동시에 여러 가지 프로그램을 구동할 수 있습니다.


 다섯째. 계층적 파일시스템입니다.


 파일시스템이 계층적 구조로 개발되어 파일을 체계적으로 관리 할 수 있습니다.



 윈도우와 겹치는 내용들도 있지만 유닉스만의 분명한 장점도 보이네요. 


 마지막으로 혹시 궁금할지도 모를 우리가 사용하는 리눅스와 유닉스의 차이점을 보며 포스팅을 끝마치도록 할게요.


 먼저 유닉스는 유료이며 OS의 사이즈가 커 무겁습니다.

 리눅스 또한 일부는 유료지만 무료 버전이 많고, OS의 사이즈가 작아 가볍습니다.
 하지만 리눅스는 아직 개발되는 부분들이 있기 때문에 버전이 모두 다르다는 단점이 있기도 합니다.
 
 무엇보다도 처음 사용자가 리눅스를 택하는 가장 큰 이유는 무료 버전이기 때문일 것 같다는 생각을 해봅니다.



 여기까지 간단한 포스팅이었습니다. 


AND

 한 주의 절반이 된 수요일이 되었습니다. 

 5일차군요.


 오늘은 어제 내용에 연결되는 '파일 및 디렉토리 검색'을 배웠습니다.


 강사님께서 복습까지 철저히 해주시고, 진도를 나가면서도 하나하나 친절히 설명해주기 때문에 조금 느릴지라도 확실한 개념을 잡으며 뒷내용으로 나아갈 수 있는 것 같아요.


 아직 기수끼리 서로 잘은 모르지만 전공자와 비전공자가 비율이 비슷한 느낌입니다.

 그렇기 때문에 초반에는 더욱 천천히 진행하는 것 같습니다.

 또한 강사님마다 성향이 조금씩 다를 수 있으니 앞으로 어떻게 진행될 지는 좀 더 지켜봐야할 것 같습니다. 


 그리고 매일 강의를 듣고 오후 5시부터는 간단한 퀴즈를 내주시는데 배운 내용이 쉬웠던 것 같아도 막상 풀어보면 헷갈리는 내용도 많고, 잘 생각나지 않는 내용도 많은 것 같네요.


 앞으로 있을 더 심화된 교육을 듣기 위해 리눅스의 기초를 탄탄히 다져놔야겠어요! 



▶ 이 블로그의 [리눅스] 파일 및 디렉토리 검색 보러가기

AND

 안녕하세요. 

 이번 포스팅은 가상머신과 리눅스 설치입니다.


 먼저 가상머신입니다.

 저는 VMware Workstation Player 12.5를 선택했습니다.

 Workstation Pro의 무료 버전이지만 실습을 하기에 전혀 부족한 점이 없습니다.


 https://www.vmware.com/products/player/playerpro-evaluation.html

 이곳으로 접속해주시면 됩니다.

 (주소는 사이트의 사정상 바뀌었을 수도 있습니다.)


 

 좌측 하단의 다운로드 링크를 클릭하여 설치해줍니다.

 실행 파일이 다운 받아지며 별 특징없이 설치해주시면 됩니다.


 다음은 리눅스입니다.

 저는 CentOS 7을 사용할 겁니다.

 Fedora는 지원이 더 이상되지 않고, 요즘 CentOS를 많이 사용하더라구요..


 https://www.centos.org/download/

 이곳에서 다운 받아주시면 됩니다. DVD ISO 혹은 Minimal ISO를 추천합니다.

 (주소는 사이트의 사정상 바뀌었을 수도 있습니다.)



 설치가 전부 되었다면 VM을 실행시킵니다.

 저는 다른 실습 때문에 이것 저것 많이 설치되어 있지만 처음 사용하시는 분들은 아무것도 설정되어 있지 않을 것 입니다. 


 Create a New Virtual Machine을 눌러주면 아래와 같은 화면이 나옵니다.



 CentOS 이미지는 나중에 넣을 것이므로 세번째 선택지를 선택합니다.



 리눅스를 선택하고, CentOS 64-bit를 고릅니다.

 (자신의 설치 리눅스를 골라주면 됩니다.)



 가상머신에 보일 이름 및 만들어질 폴더의 이름을 정하는 곳입니다.

 저는 CentOS 7으로 설정했습니다.

 (좌측에 보이는 Fedora01 같은 부분을 설정해주는 것이라고 생각하시면 됩니다.)



 이 리눅스의 사이즈를 정하는 부분인데, 저는 다른 OS들로 공간이 부족하여 20.0GB로 설정하였지만 보통 60GB정도로 설정해 줍니다.


  본인의 컴퓨터 상황대로 적절히 해주면 좋습니다. 하지만 웬만하면 20GB는 넘어야 수월해집니다. 



  위와 같은 화면이 보인다면 일단 성공입니다.



 다시 처음으로 돌아온 느낌이네요.

 여기서는 우측의 Edit virtual machine settings를 클릭합니다.

 몇몇 설정해줄 것이 있거든요.



 우선 메모리 입니다.

 기본이 1024MB로 되어 있을텐데 넉넉히 2048MB로 잡아줍니다.

 이 부분 역시 본인의 컴퓨터 사양에 따라 설정해줍니다.

 파란색 화살표까지가 설정할 수 있는 최대치입니다.



 사운드라든지 프린트는 필요없으므로 Remove 시켜줍니다. 



 이 곳이 드디어 우리의 CentOS ISO파일을 넣는 곳입니다.

 우측의 Browse를 눌러 아까 전 다운받은 CentOS 7을 선택합니다.



 이제 반정도 왔습니다. 

 CentOS 7을 Play virtual machine으로 실행시켜 줍니다.



 위 두화면이 출력되야 정상 진행되고 있는 거에요.



 아무래도 한국어가 편하겠죠? 



 우측 상단의 키보드를 눌러주세요.



 좌측 +에서 영어(미국)을 선택해주시고, 우측 옵션에서 Alt+Shift를 선택합니다.

 나중에 CentOS에서 한영키를 바꿔주는 방식을 선택하는 거에요.

 본인이 편한 거로 골라주시면 되지만 Alt + Ctrl은 피해주세요.

 그 단축키는 가상머신에서 마우스를 밖으로 뺄때 사용하는 단축키거든요.



 다음은 소프트웨어 선택을 눌러주세요.

 리눅스를 윈도우와 비슷하게 사용하고 싶으시면 위와 같은 설정을 해주시면 됩니다.

 리눅스는 기본적으로 GUI가 적용되지 않기 때문에 처음 사용하시는 분들은 그래픽이 입혀져있지 않다면 매우 불편할 수 있답니다.

 


 다음은 설치 대상을 눌러주세요.

 처음 사용자 분들은 별다른 클릭없이 좌측 상단의 완료 버튼을 눌러주세요.

 그리고 설치 시작을 해줍니다.



 여기서 부터 컴퓨터 사양에 따라 적게는 10분, 많게는 1시간이 걸린답니다.

 주의하실 점은 설정만 잘 해주셨다면 밑에 막대바가 움직이지 않더라도 결국 끝까지 차게 되어 설치가 되니 비정상적으로 종료하시면 안됩니다. 절대요! 



 root 암호를 설정해줍니다.

 익숙하신 분들이라면 괜찮지만 초심자들에게 저는 비밀번호로 centos를 추천합니다.

 다른 곳에서 사용하는 복잡한 암호를 사용하셨다가는 실습할 때 분명히 고생하실거에요...

 취약하다고 뜨긴 하지만 어차피 본인만 사용할 것이므로 별 문제될 일이 없을 겁니다. 아마도요.



 사용자를 생성해 줍니다.

 이름은 아무거로 해도 괜찮지만 암호는 역시 그 이름을 따라해주세요.

 제 test 사용자의 암호는 test입니다.

 웬만하면 사용자 이름도 test나 user같은 간편한 거로 해주세요.



 이제 이 화면에서 계속 기다려주시면 됩니다!

 거의 다 왔어요!



 위와 같은 화면이 나온다면 성공!

 재부팅 해줍니다.



 라이센스 정보를 보시고, 역시나 동의를 눌러주시면 됩니다.



 Kdump입니다. 저는 활성화하지 않았습니다.

 Kdump란 간단히 말해 커널 충돌이 발생하는 이벤트시 시스템의 메모리 상태를 vmcore라는 파일 상태로 생성해주는 건데 윈도우로 치면 오류 발생시 블루 스크린을 뜨게 해주는 것이라고 보면 됩니다.



 모든 것을 마치고, 이러한 화면에서 아까 설정한 비밀번호를 입력하고 들어가서...



 위와 같이 바탕화면이 보이는 CentOS 7이 설치되셨다면 완벽한 성공입니다!




 길고 긴 설치 과정 읽으시느라 고생 많으셨습니다!

 이제 많은 실습을 진행해 보아요! 

AND

 교육을 시작하자마자 주말을 보내고 새로운 주의 시작인 월요일이 교육 3일차가 되었습니다.


 예고했던 것처럼 오늘부터 대략 1달간은 리눅스에 대해 학습하는 기간입니다.


 그 첫주는 바로 이 책으로 나가게 되었습니다. 


 


 책은 200페이지가 조금 넘는, 컴퓨터 전공 서적치고는 상당히 얇은 두께이군요.


 목차를 살펴보니 유닉스, 리눅스를 다루는 책이라면 무조건 등장하는 역사부터 시작해 기초적인 내용과 퍼미션, 아카이브 등 리눅스에 필요한 내용은 전부 있었습니다.





 첫째날은 아무래도 VM 설치와 리눅스 설치 덕분에? 2장까지 밖에 나가지 못했습니다. 어디서 수업을 받아도 이 점은 변하지 않는 것 같아요 참... 


 아, 그리고 책은 VirtualBox와 솔라리스를 사용했지만 저희는 VMware Workstation과 CentOS를 사용했습니다.


 교육이 끝날 즈음 강사님이 직접 만드신 쪽지 시험도 보고, 이것 저것 명령어를 만져보며 리눅스에 다가가 볼 수 있었던 날이었습니다.


 교육 시간은 제가 미처 언급하지 못한 부분이 있는 데 강의는 오전 9시부터 오후 4시까지이고, 그 이후 2시간은 복습 겸 자습의 시간이었습니다.


 이렇게 본격적으로 교육이 시작한 것 같은 3일차가 끝이 났습니다. 친절한 강사님의 강의가 더 기대됩니다~ 



▶ 이 블로그의 [설치] VMware Workstation과 CentOS 설치 보러가기

이 블로그의 [기타] VMnet 개념 보러가기

이 블로그의 [리눅스] 유닉스의 특징 보러가기

AND

ARTICLE CATEGORY

전체 (115)
블로그 소개 (1)
KITRI 교육 (95)
보안 지식 창고 (16)
한 잔의 여유 (2)

RECENT ARTICLE

RECENT COMMENT

RECENT TRACKBACK

CALENDAR

«   2024/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

ARCHIVE