배고픈 개발자 이야기

[2021/07/22] 가상화 구축을 위한 리눅스와 DOCKER 활용 본문

인포섹 아카데미

[2021/07/22] 가상화 구축을 위한 리눅스와 DOCKER 활용

이융희 2021. 7. 22. 11:43
728x90

- 실습환경 구축

 

1. AWS에 ec2 인스턴스를 새로 생성한다.

인스턴스는 사용하지 않을시 종료/중지 해야한다 (무료 평가판은 ec2 720시간 제한이 있다고한다)

 

2. Ubuntu18.04 버전으로 생성 (Window에 비해 성능이 30% up)

 

3. new 키페어 or 기존 키페어 선택

new 키페어일 경우, 한번만 다운 받을 수 있으며, 추후 재사용하므로 잘 저장해 두자

 

4. AWS 접속 프로그램 putty 설치

putty gen 을 통해 다운받은 키페어(gem)을 -> ppk로 저장한다.

ps) putty 접속시 connection error가 발생했었는데 putty connection 탭의 Bypass authentication entirely를 체크해서

발생한 에러였다. (unchecked로 변경시 해결)

 

5. 관리자(root) 계정 생성 접속

- 시스템 설정을 변경할 수 있는 계정

- AWS에서는 기본적으로 비활성화 되어있음

sudo passwd root
# 비밀번호 입력, 재입력

# root 계정으로 putty 접속가능하도록 변경
sudo nano /etc/ssh/sshd_config
# 32line : PermitRootLogin yes로 변경

# putty 접속시 사용할 인증키 복사
sudo cp /home/ubuntu/.ssh/authorized_keys /root/.ssh

# 접속을 허락해주는 프로그램 재시작
sudo systemctl restart sshd

exit

완료 후 putty로 재접속시 root로 로그인해본다.

 

6. 호스트 이름 변경

sudo nano /etc/hosts
# 127.0.0.1 또는 0.0.0.0옆 이름을 원하는 이름으로 수정

sudo nano /etc/hostname
# 수정한 이름과 동일한 이름으로 수정

sudo reboot

 

7. 사용자 추가

- 하나의 ec2를 여러명의 작업자가 작업하는 경우 충돌이 나지 않게 하기 위해 추가

- /home/(추가한 사용자) 에서 개별 작업 후 통합

sudo adduser user1 --disabled-password
# 엔터 후 Y

# 사용자 키를 저장할 폴더 생성
sudo mkdir /home/user1/.ssh

# 키 공유
sudo cp /home/ubuntu/.ssh/authorized_keys /home/user1/.ssh

# user1이 읽을 수 있도록 권한변경
sudo chown -R user1:user1 /home/user1/.ssh

# user1이 sudo를 사용하여 관리자 권한을 사용할 수 있도록 변경
sudo usermod -aG sudo user1

# 접속관리 sshd 재시작
sudo service sshd restart

exit

완료 후 user1으로 재접속

 

 

- su 명령시 비밀번호 입력하라고 나오면

root 계정에서 su - user와 같이 사용하는데 이는 로그인 셸을 시작하는데 사용하여 목적 사용자의 사용자 환경을 얻을 수 있다.

 

sudo는 다른 사용자로 명령을 실행하지만, 어떤 사용자가 어떤 명령을 어떤 다른 사용자로 수행할 수 있는지에 대한 제한이 일반적으로 /etc/sudoers라는 설정 파일에 저장되어있다.

 

root 계정으로 로그인 후

nano /etc/sudoers

파일 최하단에

#includedir /etc/sudoers.d

user1 ALL=NOPASSWD: ALL

을 추가한다.

su user1

이제 패스워드 입력없이 잘 실행된다.

 

 

- 터미널 TIP

단어 지우기 : Ctrl + w (단어는 공백으로 구분)

문장 지우기 : Ctrl + u

 

 

- man 명령 : ex) man clear

리눅스가 제공하는 각종 명령의 사용법을 보여줌 (help와 유사)

 

 

- ls -F / (root의 서브 디렉터리까지 보여주는 옵션)

 

- 심벌릭 링크

원본 파일을 대신하여 다른 이름으로 파일명을 지정한 것 (바로가기와 비슷)

 

 

- 리눅스 디렉터리의 주요기능

 

 

- 중간 디렉터리 자동으로 만들기 : -p 옵션

mkdir temp/mid/han : mid 폴더가 없을 시 no such file or directory 에러 발생

mkdir -p temp/mid/han : mid 폴더가 없으면 폴더 자동 생성

 

 

- 디렉토리 삭제

rmdir [폴더명]

rm -r [폴더명]

 

 

- 행번호 붙여서 cat하기

ex) cat -n /etc/hosts 실행시 행번호 같이 출력

 

 

- 화면 단위로 파일 내용 출력하기

ex) more /etc/services

ex) less /etc/services  : less 단축키 : j, k, space bar, ctrl+f, ctrl+b

ex) tail -f /etc/services : 내용이 추가되면 보고있던 내용이 업데이트 된다.

 

 

- 파일 복사하기

ex) cp -i /etc/hosts text : text가 존재하는 경우 덮어쓸것인지 물어봐주는 옵션

ex) cp /etc/hosts /etc/services temp : hosts와 services를 temp 디렉토리에 복사

 

 

- 파일 이동하기

ex) mv text data : text를 data로 이름이 변경됨

ex) mv -i data data2 :  data2가 있으면 물어봄

 

 

- 하드링크와 심벌릭 링크

- 하드링크 -

 

 

Comments