[ sudo 권한 ] 권한과 관련된 글
요약 :
# 자바 설치
sudo apt update
sudo apt install -y openjdk-17-jdk
AWS에서 Terraform으로 인스턴스 구축 시 기초 설정 명령어들을 작성해서 인스턴스 설치 시 알아서 실행되도록 했다.
근데 막상 Jenkins를 통해서 배포하려고 보니까 java 설치가 안 되어있다고 하는 것이다 ...
그리고 인스턴스 설정 시 SSH 포트 자동 변경하도록 해두었는데, 파일 상의 포트는 변경되어있지만 해당 포트로 접속은 안 되는 상황이 벌어졌다.
관련해서 주변 사람들하고 얘기해보니 Terraform에서 쿼리 전송 시 sudo 권한이 없는 것 아니냐는 의견이 나왔고,
구글링 좀 하다 보니까 유사한 내용이 Stack overflow에 올라와 있었다.
https://stackoverflow.com/questions/37847273/how-to-run-sudo-commands-in-terraform
How to run sudo commands in terraform?
My question is similar to this git hub post, but unfortunately it is unsolved: https://github.com/hashicorp/terraform/issues/550 I want a simple way to give sudo privileges to the commands run in...
stackoverflow.com
다른 글들을 더 찾아보니 Terraform에서의 문제 뿐만이 아니라 Jenkins에서도 sudo 권한으로 뭔가 하려고 할 경우 권한 오류가 뜨는 것 같다.
# /etc/sudoers 파일에서 jenkins 사용자에게 비밀번호 없이 sudo 권한 부여
jenkins ALL=(ALL) NOPASSWD:ALL
Jenkins의 경우 기본적으로 `jenkins`사용자로 실행되는데,
해당 사용자는 제한된 권한을 가지고 있으므로 `sudo`명령어를 사용하기 위해서는 `jenkins`사용자가 `sudoers`파일에 적절하게 설정되어 있어야 한다.