본문 바로가기
Infra

[클라우드] 카테부 - 리눅스 기본 강의

by alphaca202 2024. 7. 8.

UTM, 우분투 설치


UTM이란?

ARM 기반 Mac에서 가상 머신을 실행하기 위한 오픈소스 가상화 소프트웨어.

Mac에 우분투를 띄울 수 있게 해준다!

 

가상머신이란?

가상화에서 중요한 개념으로 별도의 운영 체제와 컴퓨팅 리소스가 있는 물리적 컴퓨터에서 실행되는 소프트웨어 정의 컴퓨터. 하이퍼바이저에 의해 컴퓨터 하드웨어에서 추상화됨. 아래처럼 하이퍼바이저 위에서 추상화됨. 운영체제 위에서 컨테이너 엔진으로 추상화되는 도커와는 다름.

 

하이퍼바이저란?

한 컴퓨터에서 여러 가상 머신을 관리하는 소프트웨어 구성 요소. 가상 머신이 할당된 리소스(cpu, Memory, 스토리지, 네트워크 자원, I/O장치, GPU 등)를 얻고 다른 가상 머신의 작동을 방해하지 않도록 함. 컴퓨터 하드웨어에 직접 설치되는 1형 하이퍼바이저와 운영체제에 설치되는 2형 하이퍼바이저가 있다.

 

우분투란?

리눅스의 배포판.

 

 

 

 

ssh로 UTM 우분투 서버 접근


ssh 기술이란?

Secure Shell로 보안이 된 셀을 의미함.

예전에는 원격 접속할 때 Telnet을 주로 사용했는데

Telnet은 암호화가 이루어지지 않아서 중간 지점을 도청할 경우 간단하게 정보를 탈취할 수 있다.

하지만 ssh는 암호화하여 전달이 이루지기 때문에 안전하다.

 

ssh에서 Key란 무엇인가?

Key는 ssh에서 핵심 기술이다.

아무나 내 pc에 원격 접속할 수 있도록 하면 안되기 때문에

Key를 가진 인증된 사용자만 접속하도록 하는 것이다.

이렇게 ssh를 가지고 utm 상의 우분투에 접근을 했다!

이 때는 key가 필요 없었는데, 같은 로컬 네트워크 상에 있기 때문에 그렇다.

또 key가 아니라 비밀번호를 설정해서 접근하는 것도 가능하다!

그러나 보안 상 Key를 발급 받고 접근하는게 안전함.

 

ssh (서버이름)@192.168.64.2

 

이렇게 접근하면 된다!!

저 ip주소는 로컬 네트워크 내에서 장치 간의 통신을 위해 사용되는 주소임!

 

사용자 권한 설정 & 비밀번호 설정


root 비밀번호 설정

sudo passwd
-> 사용자 passwd 입력
-> root new passwd 입력

 

root 계정으로 변경

su root
su -> su root 와 같음

여기서 ctrl + d 하면 원래 유저로 돌아간다!

 

usermod -aG kakao kakao

 

리눅스는 기본적으로 user를 만들면 user name과 동일한 그룹을 생성함

그러나 user이 그룹에 포함되어 있지는 않아서 등록해주는 것

 

 

sbin과 bin의 차이

system binary가 뭐지?

 

 

리눅스 파일 권한 표현
  • R(Read) : 읽기 권한으로 cat 명령어로 파일 내용 확인할 수 있음. (4bit)
  • W(Write) : 쓰기 권한으로 vim이나 echo, sed 명령어로 파일 수정할 수 있음 (2bit)
  • X(eXecute) : 실행 권한으로 sh, bash에 의해 실행될 수 있음. (1bit)

User, Group, Others 각각에 대해 rwx권한 부여 : 총합은 7bit임 !

모든 권한 다 부여하겠다? -> chmod777

파일을 소유한 유저에게만 모든 권한 부여하고 나머지에게는 write 권한을 주지 않겠다? -> chmod755

이런 식으로 관리됨!

 

 

 

Linux Root 디렉토리 구조
  • / : 루트 디렉토리
  • /bin(/usr/bin) : 기본적인 사용자 명령어 저장
  • /lib : 시스템과 어플레케이션이 사용하는 공유 라이브러리들이 포함됨
  • /usr : 이 디렉토리의 하위에도 /bin과 /lib 디렉토리가 있다. 과거에는 디스크 용량이 제한적이었어서 효율적인 디스크 이용을 위해 
  • /dev : 장치 파일들이 저장되는 디렉토리, 모든 장치가 파일 형태로 표시되고 커널 - 하드웨어 간의 인터페이스를 위한 장치들이 포함되어 있다.
  • /etc : 시스템 설정 파일들이 저장되는 디렉토리, 사용자 계정 정보(passwd), 암호 정보(shadow), 호스트네임/IP 매핑 파일(hosts) 등이 포함됨
  • /proc : 커널과 프로세스에 대한 가상 파일 시스템이 저장되는 위치
  • /home : 사용자들의 개인 디렉토리가 저장됨 
  • /tmp : 임시 파일을 저장하는 디렉터리 - 주로 사용 후에 삭제되어도 문제 없는 파일이나 디렉토리 포함. 

 

 

하위 디렉토리/파일 확인 (list의 줄임말) ls
ls의 옵션들 -a(숨긴 파일도 다), -l(긴 목록) 의 조합 (조합해서 사용 가능)  ls -al
-h (사람이 보기 좋은 형태 - KB, MB 형태로 출력함) ls -alh
디렉토리 만들기 mkdir
디렉토리 삭제 rmdir
해당 디렉토리로 이동  cd
파일 만들기 touch
파일 삭제 rm 
디렉토리 복사 cp -r (복사할 디렉토리) (새로운 디렉토리)
디렉토리 삭제 (비어있지 않은 디렉토리도 삭제 가능) rm -r 
파일 이동 mv (옵션) (이동시킬 디렉토리/파일) (이동시킬 위치)
이름 바꾸기 -> 이동시킬 위치를 디폴트인 현 위치로 해서  mv (옵션) (바꾼 이름) 
현재 위치 출력 pwd
서버 상태 파악  top
디스크 공간 확인 도구 - 파일 시스템의 디스크 블록을 조회하여 총값과 자유 블록의 수를 계산  df -h
디스크 공간 확인 도구 - 파일 트리를 따라 이동하면서 stat()라는 시스템 호출을 이용하여 각각의 디렉토리, 심볼릭 링크 및 파일에 할당된 블록의 수를 더하여 계산 du -h