📙
Daeun's devlogs
  • First page
  • Docker
    • 이미지, 레이어
    • 컨테이너 생성하기
    • Dockerfile로 이미지 생성하기
    • 이미지를 dockerhub repo에 push하기
  • Python
  • Algorithm Study
  • 방향없는 그래프(undirected graph)
  • 방향있는 그래프(directed graph)
  • 위상 정렬(topological sort)
  • BFS(Breadth-First Search)
  • 다익스트라(Dijkstra)
  • 벨만-포드(Bellman-Ford) 알고리즘
  • 최소신장트리(Minimum Spanning Tree)
  • 크루스칼(Kruskal) 알고리즘
  • Algorithm quiz
    • quizzes & solutions
    • graph에서 cycle 유무 확인하기
    • bipartite(이분그래프) 확인하기
    • Dijkstra 알고리즘으로 모든 정점으로의 최단 경로 구하기
  • operating system
  • 스루풋 & 레이턴시
  • Cloud Computing
    • cloud computing 의 종류
    • CloudFormation으로 EC2 & ElasticIP 생성하기
  • Network
    • DataLink 계층
    • Network 계층
    • subnetting & CIDR
    • Domain Name System
    • Transport 계층
  • Unix
    • dig 커맨드로 DNS서버에 질의하기
    • APT(Advanced Package Tool)로 젠킨스 설치하기
    • usermod 로 그룹에 유저 추가하기
    • sysctl 로 커널 변수 조회하기
  • Django
    • 마이그레이션 실행여부 확인하기
    • 마이그레이션 DDL 쿼리 확인하기
  • Kubernetes
  • 쿠버네티스(Kubernetes) 개념
  • k8s 클러스터에 애플리케이션 서버 실행하기
  • kops로 AWS에 k8s 클러스터 생성하기
  • k8s 클러스터에 replicaset 생성하기
  • Nginx & WSGI pod를 service로 노출하기
  • Helm으로 쿠버네티스 리소스 배포하기
Powered by GitBook
On this page

Was this helpful?

  1. Unix

usermod 로 그룹에 유저 추가하기

PreviousAPT(Advanced Package Tool)로 젠킨스 설치하기Nextsysctl 로 커널 변수 조회하기

Last updated 5 years ago

Was this helpful?

1차 수정일 [2020.01.19] - 작업 환경 명시

작업 환경 : Ubuntu 18.04

를 이용하여 보안을 테스트하는 젠킨스 파이프라인을 실행하는 도중에 아래의 메세지와 함께 에러가 발생했다.

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.39/build?buildargs=%7B%7D&cachefrom=%5B%5D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&labels=%7B%7D&memory=0&memswap=0&networkmode=default&rm=1&session=w333kxg5rwhirnz2nkzxlrmn1&shmsize=0&t=3c2e3826563ff5197d4ce4d2acf4b38e554496f0&target=&ulimits=null&version=1: dial unix /var/run/docker.sock: connect: permission denied

원인은 jenkins 계정이 도커 컨테이너를 생성할 권한이 없는 것이었다. docker 그룹에 jenkins를 추가하면 해결할 수 있다.

group 확인

리눅스 내 그룹을 확인하기 위해 /etc/group 파일을 조회한다.

$ cat /etc/group
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:syslog,ubuntu
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
...
ubuntu:x:1000:
jenkins:x:115:
docker:x:116:ubuntu

각 행은 아래의 형식으로 구성되어 있다. (비밀번호를 설정하면 새 유저를 추가할 때 비밀번호 입력을 요구할 수 있다.)

그룹이름 : 비밀번호 : 그룹ID : 그룹에 소속된 유저

/etc/group 파일을 확인해보니 docker 그룹에는 ubuntu 유저만 추가되어 있다.

그룹에 유저 추가

어떤 그룹에 기존에 있던 유저를 추가하려면 usermod 명령어를 사용한다. usermod는 'user modification'의 약자로 유저 정보를 변경할 때 쓰는 명령어다.

$ sudo usermod -a -G <그룹이름> <추가할 유저이>

option

usage

-G, --groups <group>

<group>의 새로운 목록

-a, --append <group>

유저가 포함되어있는 기존의 그룹에 대한 변경 없이 <group>에 유저를 추가함.

docker그룹에 jenkins 유저를 추가한 후 /etc/group을 다시 조회했다.

$ sudo usermod -a -G docker jenkins
$ cat /etc/group
...
netdev:x:114:ubuntu
ubuntu:x:1000:
jenkins:x:115:
docker:x:116:ubuntu,jenkins

계정이 추가되었으면 젠킨스 데몬을 다시 실행해야 한다.

$ sudo service jenkins restart

Aqua Microscanner