배고픈 개발자 이야기
[2021/07/22] 가상화 구축을 위한 리눅스와 DOCKER 활용 본문
- 실습환경 구축
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가 있으면 물어봄
- 하드링크와 심벌릭 링크
- 하드링크 -
'인포섹 아카데미' 카테고리의 다른 글
[2021/07/26] 가상화 구축을 위한 리눅스와 Docker활용 (0) | 2021.07.26 |
---|---|
[2021/07/23] 가상화 구축을 위한 리눅스와 DOCKER 활용 (0) | 2021.07.23 |
[2021/07/21] 클라우드 컴퓨팅 환경과 서비스 (0) | 2021.07.21 |
[2021/07/20] 클라우드 컴퓨팅 환경과 서비스 (0) | 2021.07.20 |
[2021/07/19] 정형/비정형 데이터 처리 (0) | 2021.07.19 |