사실 좀 위험하다고 생각한다. docker 권한이 root 권한을 이용하기 때문에 sudo 를 사용하도록 해야 그나마 좀 더 보안적인 요소가 되긴 한다만..
자주 쓰는 머신이고, 나 혼자서만 쓴다면 진짜로 귀찮은 게 현실이다. 그렇다면 이걸 항상 root가 아니라 내 계정으로 쓰게 하고 싶은 것이다. 이럴 때에는 할 수 있는 방법이 두 방법이 있다.
root로 로그인을 한다
내 계정을 docker 그룹에 추가한다.
root 계정으로 로그인…. 하지마라. 상식이 있다면 안할 것이다.
그럼 선택지는 이거 뿐이다. 내 계정을 docker 그룹에 추가하는 것.
사실 해당 내용에 대해서는 리눅스에서 자동 설치 스크립트로 설치를 하게 되면 하는 방법과 함께 경고를 날려준다. 도커 호스트를 이용하는 작업 자체가 루트 권한을 이용해야 하기 때문에 여러모로 말이 많게 나오는 것이다. 그러나 귀찮다면 직접 입력해보자. 아, 실행 후에 서비스 재시작도 꼭 해줘야 한다.
이제 이게 제대로 되어있는지 확인해보자. 도커를 이용하여 우분투 컨테이너를 받아오려고 한다.
그냥 잘 받아와지고 있다. 앞으로 예제에 그냥 sudo 안쓰고 하려고 하는데 이게 왜 이러냐고 물어보는 건 더 없기를…
프로그래밍을 할 때는 아무리 작은 수정이라도 수정을ㄹ 하면 소스 파일을 재컴파일해야 실행 파일에 수정 내용이 반연된다. 그런데 파일 하나나 작은 수의 파일로 이루어진 프로그램에서는 별 문제가 없으나, 여러 파일로 이루어진 대규모 프로그램인 경우에는 파일 하나만 수정해도 몯든 파일을 재컴파일해야 하게 되므로 부담이 크다. 이와 같이 여러 파일이 이루어진 프로그램을 개발할 때, 통합 개발툴의 경우에는 설정도 간단하고 자동으로 관리까지 해주니 편한 반면 리눅스 환경에서 개발을 할 경우에는 이 여러 파일로 이루어진 프로그램 코드의 컴파일을 관리해줄 수 있어야 한다.
make는 주어진 조건으로부터 대상을 만들어내는 다목적 프로그램으로, 다수의 소스 파일로 구성된 큰 프로그램 중 어떤 파일이 변경되었으므로 재컴파일이 필요한지 판단해 프로그램 개주성 작업을 효율적으로 수행하는 역할을 해준다. 그리고 이 때, 어떤 일을 해야 하는지 make에 알려줄 정보를 담고 있는 파일이 makefile이다. make 자체로도 여러모로 옵션과 기능들이 있는데 이 기능들에 대해서는 하나하나 살펴보도록 하겠다.
이런 말 될 수 있으면 별로 적고 싶진 않았는데…. 페이스북쪽에 보면 한국 IT인 연합회라는 IT인들이 제 목소리를 낼 수 있는 장소를 만들어서 정책 반영이나 정치인 지원을 할 수 있는지를 모아놓고 토론하는 공간이 있다. 학생들은 기웃거리기도 힘든 공간이다. 기본적으로 이슈가 되는 이야기들에 대해서 본인 생각 적어보고 하는 곳이라서 솔직히 말하면 그냥 어떤 이야기를 하던 그건 자유인 곳이다. 싸움만 안나면 되니깐…
공인인증서가 까이는 가장 기본적인 이유는 전자서명의 방식을 온라인에서도 이용하고 싶은데, 한국식 전자서명 방식을 이용하려면 “전자인감”이라는 제도를 만들어야 한다. 여기서부터 문게가 되는 것이다. 집에 보면 다들 인감 하나씩 가지고 있다. 이 인감을 컴퓨터에서 그대로 쓰고 싶은데, 이걸 x.509 v3 기반의 인증서로 만들고, 그냥 막 만들게 할 수는 없으니 행정부 보증하에 개인정보를 특정 발급자한테 발급받게 한다. 보증 주체는 당연히 은행, 보험회사들이고, 금융결제원 하에 발급이 되니 공적으로 공신력을 가진 파일이 만들어지는 것이다. 그래서 우리는 정부기관 일과 은행 업무, 쇼핑 등에 공인인증서를 통한 전자인감을 이용한다. (쇼핑하는 데 왜 인감을 찍어야 하는지는 묻지마라. 법으로 그렇게 만들어버렸다.)
자, 그럼 이 인감을 내 하드디스크 아무데나나 내 아무 USB 저장소에 저장한다. USB 저장소는 자꾸 망가지니 사람들이 하드에 저장한다. 내 개인음을 입증하는 파일을 내 하드에, 내 폰에 대충 저장한다? 저장소 위치는 누구나 다 알고? 게다가 보안이라고는 거의 전문지식 또한 없는 일반 사용자한테 예예만 선택하세요라고 오래전부터 가르쳐놓고는 이제와서 보안의 책임을 일부 내놓고? 게다가 이거 솔루션 제공하는 프로그램들이 털리거나 유사 프로그램 설치에 주의하라는 일들 미친듯이 터지는 마당에???
이 이야기를 솔직히 진짜로 하고 싶지 않았습니다. 보안에 대해서 별로 잘 다루지 않는 저라고 해도, 보안공학적으로 말도 안되는 이야기는 좀 까야지 될 거 같았는데, 그럴 이유가 생겼습니다. 아래의 주장들인데, 솔직히 공인인증서 찬성론자들의 말만 바뀐 주장인데,
결론부터 말하면 반은 맞고 반은 틀린 이야기입니다. (그전에 기업호민관 출신이 맞는 소릴 한다는 이야기에 대해서는 질문 안받겠습니다.)
맞는 이야기가 될 수 있는 이유는 바로 한국 정부에서 발전시킨 방향에 대해서만 쭉 이야기 했기 때문에 맞는 겁니다. 실제로 지금 공인인증서가 없어지지 못하는 가장 큰 이슈가 바로 전자 서명입니다. 위에서도 잠시 설명했지만 또 적자면, 전자 서명 시스템을 한국식으로 맞춰서 인감 제도에 대해서 도입을 하게 되다보니 지금의 공인인증서가 이루어진 것은 맞는 겁니다. 그러니 당연히 이렇게 되죠. 한국식 서명제도의 기본은 인감인 건 다들 아실 겁니다. 그리고 그 인감을 개인이 가지고 있죠. 공인인증서 역시 마찬가지입니다. 거래에 쓰이면서도 개인이 개인의 PC에 저장하죠.
틀린 이야기라고 하는 것이 바로 이 한국식이라는 것만 강요해서 생기는 문제인 겁니다. 전세계적인 보안과는 맞지 않는 보안 방식을 만들었다는 거? 특허는 되겠죠. 근데 실제로 사용해보려고 하니 이런 저런 문제 다 터지는 겁니다! 집이 털려서 인감 털리면 답 없듯 PC 털려서 인감 도둑맞고 하는데도 그게 도둑맞은 거라는 걸 서류 내미는 곳에선 모른단 말입니다! 그리고 옛날엔 그걸 강조했다고요! 게다가 나중에 와서 이걸 자율화 시켜서 니들 맘대로 해라고 해도 공인인증서 이용하는 기존 제도 쓰면 면책될만한 법률이 얼마나 많은데 그걸 왜 바꿉니까!
라고 아무리 떠들어도 저 덧글 단 사람처럼 불편해 하는 사람 많습니다. 저런 분들은 대체 뭔 생각들일까요?
공인인증서 뒤에는 엄청난 이권 단체들과 사람들이 존재합니다. 제일 대표적인 식충이 쓰레기 단체의 이미지를 먼저 올리고 시작합니다. (욕 하고 싶으면 하라고 그래..) 그리고 그걸 지시하는 공공기관, 대대적으로 안전하다고 선포해대는 공공기관, 그걸 뿌려대는 업체들, 그리고 그거 땜에 보안으로 일해먹는 사람들 등등.. 당연히 많죠. 공인인증서가 얼마나 오래된 작품인데 저런 이권들이 없으면 말이 안되죠.
KISA의 공인인증서 찬양 수준은 진짜로 사이비 종교라고 해도 될 정도로 무시무시합니다. 저들 이야기 들어보면 그냥 컴퓨터 켜고 끄는 곳에다가도 공인인증서를 심어야 할 거 같은 생각을 하게 됩니다. 그정도로 사랑하고 공인인증서 없으면 대체 뭐하는 곳인지조차 모를 그럴 곳이죠. 지들이 인증한 곳에서 보안사고 났는데도 나중에 지들이 인증하는 시스템대로 구축 안했다고 까는 곳이 KISA이고, 거기 팀장이란 사람들은 대놓고 병신 소리 막 떠드는 곳이니깐요.
자, 이제 이 불편한 사람들이 대충 어떤 사람들인지 감이 오신 분들이 있을 겁니다. 그럼 이 불편한 사람들은 자기가 인생 살면서 단 한번이라도 공인인증서 땜에 보안 사고 안당했을까요? 그렇기 때문에 당당하게 이야기 할 수 있는 걸까요? 이 사람들은 피해자라는 것이 보이지 않는 걸까요? 피해 기사들도 보이지 않는 걸까요?
지들하곤 아무 상관 없습니다. 결과적으로 법 테두리 안에서 잘 진행되었으면 자기들 책임 아닌 겁니다. 대단한 사람들입니다.
엑티브 X 없애겠다고 다짐한 이번 정부의 행보에 대해서도 예외적인 곳에서는 exe를 사용하게 하겠다는 조항이 있었습니다. 100% exe로 전환될 것이고, 그 최전선에는 공인인증서 사용기관들이 있을 겁니다. 그럼에도 불구하고 여러모로 사고 터지고 난리나는 곳에서도 여전히 공인인증서를 가지고 있어야 하는지… 초딩도 알 수 있습니다.
p.s. 솔직히 걍 전통적인 한국인 종특을 가진 놈들이라고 말하고 싶습니다. 전 세계 어딜 가도 한국인들이 어디서 뭔 잘못했다가 외국인들한테 몰매맞는 짓 하고 돌아오면 외국에서 차별당했느니 뭐 어쩌느니 하는 식으로 어그로 끄는 짓꺼리랑 비슷하게 보입니다. 그거 땜에 MS가 한국 정부 요청 땜에 IE 랑 XP 고체 안하고 계속 버텨서 보안 업뎃 쭉 해주고 했던 그런 것도 있고.. 까고 까면 욕밖에 안나옵니다…
클라우드 환경으로 바뀐 지 오래되고나서부턴 서비스들이 어디서나 지속적으로 사용 가능한 서비스에 대해 거의 기본적으로 제공해주고 있는 것 같다. 거기에 한술 더 떠서 디바이스 간 경계가 많이 얇어지고 있다. (어디까지나 서비스의 입장이다.)
근데 아직 그런 게 전행되지 않는 서비스들도 많다. 좀 초창기에 나온 시스템들이 그런 것이 많은데, 서비스 개조에 개발이 어려운 것도 있지만 실제로 하려고 하는 마음이 있는지 좀 의심이 들기도 한다.
문서 작성 프로그램들의 경우에는 클라우드 저장 공간과 연동할 수만 있다면 어디서든 수정 가능하고 공유 가능한 상황이 되다보니 그냥 뭐 편하게 이동하고 있는 거 같다. 심지어 개발 환경까지 이루어지고 있는 판이니 이런 쪽은 이미 답 나왔다고 보여진다.
문젠 메신저들 같다. 어디서나 대화 내용을 불러오고 그 내용을 확인해서 지속적으로 대화가 이어질 수 있어야 하는데, 아직 그런 게 없는 메신저가 좀 있다. 구체적으로 말하면 바로 카카오톡. 라인도 텔레그램도 스카이프도 슬랙까지도 지속적인 대화 내용 제공은 요즘 다 되는 기능인 데다가 기종 간 대화가 그대로 이어질 수 없는 것, 심지어 아직까지 있는 기종 제한까지 겹치는 건 메신저로써의 기능으로써 절반 정도를 기능 상실하고 있다고 보여진다.
메일이나 아이디 가입이 우선이 아니라 휴대폰 번호에 의한 가입이다보니 더더욱 그런 거 같다. 전반적인 시스템들이 기존의 네이트온에 닮아가는 것도 솔직히 싫다만… 저점 카톡 버릴 이유만 들어나는듯.
리눅스 환경에 친화적인 것이 도커이다보니 리눅스쪽의 설치가 좀 더 자세하게 나와있다. 반면 맥과 윈도우의 경우에는 여러모로 프레임워크와 라이브러리화 되어 있기 때문에 그걸 그대로 설치하여 쓰는 형태로 구성되어서, 설치 프로그램으로 만들어져 있다. 그것이 이전 글에서 쓴 Docker Toolbox이다.
리눅스에서 동작하는 도커 환경은 모든 작업이 root 권한을 요구한다. 그래서 죄다 sudo를 이용하여 설치한다는 걸 먼저 알아두면 좋다. 그럼 이제 리눅스에서 설치하는 방법을 이야기하려 한다.
자동 설치 스크립트를 이용하려 설치하기
패키지 배포판을 이용하여 설치하기
최신 바이너리 받아서 설치하기
일단 가장 쉽게 하는 것이 바로 자동 설치 스크립트를 이용하여 설치하는 것이다. 이걸 이용하면 리눅스 배포판과 버전에 맞춰서 알아서 설치할 수 있도록 해준다. 설치 스크립트는 “sudo wget -qO- https://get.docker.com/ | sh”인데, 아래의 화면을 참고하면 된다. 참고로 규링의 경우에는 이미 설치를 한 경우라서 다시 설치하려 하니깐 오류가 난 것이다.
패키지 배포판으로도 또한 존재한다. 우분투 환경에서는 docker.io라는 이름으로, 레드햇 계열에서는 docker-io라는 이름으로 존재한다. 패키지 배포판에서 검색해서 직접 이름을 확인하고 설치를 하면 된다.
마지막으로 최신 바이너리를 직접 받아서 수동으로 설치하는 방법이 있다. 자동 설치 스크립트가 실패한 경우에 수동으로 직접 압축된 바이너리를 풀어서 사용하는 것이다. 또한 패키지 배포판으로는 도저히 최신 버전이 올라가지 않는 경우나 각각의 리눅스 배포판마다 전부 다 지원하는 것이 아니다보니 직접 이걸로 설치해서 쓰는 경우에도 있다.
참고로 자동 설치 스크립트를 이용하면 기본적으로 hello-world가 있다. 안쓸 경우에는 도커에서 제거 명령어를 이용하면 된다.