처음으로 구글 클라우드를 이용해서 인스턴스(instance)를 하나 만들어 봤다.
해당 인스턴스 내에서 docker를 이용하기 위해 설치는 했다.
해당 명령어
apt install docker-compose
하지만 아래와 같은 오류가 발생하였다.
이는 우분투로 운영체제를 설정하고 인스턴스를 만들었기 때문에, apt
명령어를 사용해야 하는데 이는 우분투의 패키지 관리툴이다. 맥북의 brew
와 동일한 역할한다.
아무튼! 처음엔 이런 오류가 발생할텐데 sudo apt update
명령어를 통해 업데이트를 한번 한 후 다시 설치를 해주어야한다.
이후 문제 없이 프로그램을 설치할 수 있었다.
그 이후에 설치 또한 sudo
를 붙여줘서 관리자 권한으로 실행을 하니 문제없이 실행되었다.
🤔 아까부터
sudo
를 계속 붙이는데 이는 왜 붙여야 하는 걸까?
안붙일 순 없을까?
리눅스에서 특정 명령을 실행하거나 파일에 접근하기 위해서는 루트(root) 권한
이 필요한데 사용자가 root 권한
을 사용하기 위해서 sudo
라는 명령어를 사용해야 한다.
이러한 sudo
명령에 대한 사용 권한은 해당 사용자 계정이 sudo 그룹에 소속되어 있느냐
에 의해 결정된다.
그렇기에 sudo
명령어 없이 사용하고 싶다면, 사용자에게 sudo
권한을 부여하면 된다.
이는 sudo 그룹에 사용자를 추가/삭제처리를 해줌으로써 해결할 수 있다.
매번 sudo
를 붙이기 귀찮기도 하고, sudo
를 이용하게 되면, 해킹(버퍼 오버 플로우 : 관리자 권한 탈취)
의 우려도 있기 때문에 sudo
명령어를 사용하는 것보다는 , 아래의 명령어를 입력하여 사용자를 관리자 sudo 그룹에 추가하면 된다.
그럼 해당 프로그램을 sudo 없이
실행하게 설정해 줄 수 있다.
sudo usermod -aG docker 내이름
프로그램이 관리자 권한으로 실행해야하는지, 내가 직접 실행할 수 있는지 확인하는 방법은 아래의 명령어를 입력하면 된다.
cat /etc/group
그럼 위와 같은 화면을 볼 수가 있을텐데, 기존 관리자 권한으로 설정되어 있던 docker를 내가 실행할 수 있게 설정해 주었다.