티스토리 뷰

Linux/TIP

유저그룹 (USER GROUP)

이주성 2018. 9. 18. 18:41


userGroup

유저그룹

유저그룹은 무엇인가?

docker를 우분투에 설치해 보았다. 그런데, docker run 을 해보니 아래와 같은 에러가 발생하였다. permission error가 발생했다. 왜일까?

$ docker run hello-world
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.38/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.

/var/run 폴더로 이동해 보자. docker가 연결하고 싶은 socketroot:docker권한 이다. 즉 user권한은 root이지만, group권한은 docker이다. 그러면, root권한이므로 root사용자만 읽을수 있는건가? 결론부터 말하자면 NO이다.

/var/run$ ls -al docker.sock
srw-rw---- 1 root docker 0  9월 18 11:04 docker.sock

USER GROUP은 뭔가?

그룹은 조직을 논리적으로 표현한 것으로, 공통된 목적으로 사용자를 하나로 묶습니다. 그룹 내의 사용자는 해당 그룹이 소유 한 파일을 읽거나 쓰거나 실행할 수 있습니다. 각 사용자 및 그룹에는 사용자 ID (UID) 및 사용자 그룹 (GID)이라는 고유 한 숫자 식별 번호가 있습니다 파일을 만드는 사용자는 해당 파일의 소유자이자 그룹 소유자이기도합니다. 파일에는 소유자, 그룹 및 다른 모든 사용자에 대해 별도의 읽기, 쓰기 및 실행 권한이 할당됩니다. 파일 소유자는 ROOT USER만 변경할 수있을뿐 아니라 엑세스권한은 ROOT 사용자와 파일 소유자가 변경할수 있다.

즉 유저그룹이 동일하면, 그파일을 만들지 않더라도 해당파일을 읽거나 쓰거나 실행할수 있다. 그럼 docker 유저그룹에 내 계정을 추가해 보자.

sudo usermod -a -G docker $USER

usermode명령어를 사용하면 유저그룹에 추가가 가능하다. 그리고, 반영이 될려면 logout하고 다시 login을 해야 한다. 그럼 다시 docker를 실행해 보자. 성공한다. /var/run/docker.sock파일을 읽을수 있다.

$ docker run hello-world
hello-world success

userGroup.md


'Linux > TIP' 카테고리의 다른 글

linux에서 소스 받아서 설치하기 (linux 폴더 구조)  (0) 2020.12.25
FTP 서버 설치 (ubuntu 기준)  (0) 2020.12.04
계정 관리  (0) 2020.04.19
syntaxhighlighter  (0) 2013.01.14
좀비프로세스 죽이기  (0) 2013.01.11
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함