본문 바로가기
공부/프로그래밍

[centos7] sudo 사용 시 PATH에 잡히지 않아 실행이 안되는 문제

by demonic_ 2019. 1. 16.
반응형

jenkins 를 이용해 docker-compose 를 sudo를 이용해서 수행했는데, 갑자기 되지 않았다.


그래서 로그를 살펴보니 다음의 문구가 있었다.


sudo: docker-compose: 명령이 없습니다


잘되던것이 갑자기 안되 이상해서 다음 명령어를 수행해보아도 똑같은 문구를 내었다.


sudo -u jenkins docker-compose


sudo: docker-compose: 명령이 없습니다


그래서 알아보니 sudo 권한에서 PATH 경로에 docker-compose 가 설치되어 있는 경로가 빠져있었다.


docker-compose 경로는 docker 홈페이지에서 알려준 /usr/local/bin 에 위치하는데, PATH를 살펴보면 해당경로에는 없다.


sudo env



...

PATH=/sbin:/bin:/usr/sbin:/usr/bin

...


그래서 sudoers 에 설정을 추가했다.


vi /etc/sudoers



...

# 이전 설정은 주석처리

# Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin

# /usr/local/bin 추가

Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin

...



jenkins 계정으로 다시 실행해보니 이제 잘된다.


sudo -u jenkins docker-compose


Usage:

  docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]

  docker-compose -h|--help



끝.

반응형

댓글