본문 바로가기

오류해결

Error :: cp: cannot create regular file `/home/ec2-user/actions-runner/run-helper.sh': Permission denied 해결

문제 발단

AWS EC2 에서 git action을 활용해서 CI/CD 환경을 구축하던 도중 오류가 났다.

github configure을 연결 성공 한뒤 runner를 실행하기 위해 ./run.sh 명령어를 치니 

 

Error :: cp: cannot create regular file `/home/ec2-user/actions-runner/run-helper.sh': Permission denied

 

이런 오류가 났었다. CI/CD 환경을 구축하는 적은 처음이였기에 멘붕이 왔었다. 구글링을 해봐도 내가 원하는 해답을 찾을 수 없었다.

천천히 오류를 해석을 해보기로 했다. 권한이 없어서 run-helper.sh 파일을 생성할 수 없다. -> 권한을 확인

 

 

문제 해결

일단 지금 사용하고 있는 id가 뭔지 알아보기로 했다(권한 확인).

whoami

 

ec2-user 였다.

 

그리고 파일에 권한을 확인해 보았다.

ls -ld /home/ec2-user/actions-runner

 

 

 

출력결과

drwxr-xr-x 5 1001 127 4096  2월 26 07:18 /home/ec2-user/actions-runner/

 

디렉토리 소유자와 그룹이 1001로 설정되어 있었다. 결국 문제는 지금 파일에 접근할 수 있는 id는 1001인데 내 아이디는 ec2-user 였다.

간단하게 /home/ec2-user/actions-runner/ 디렉토리 소유자와 그룹을 ec2-user로 변경하면 될 문제 였다.

 

권한 변경

 sudo chown -R ec2-user:ec2-user /home/ec2-user/actions-runner/

 

출력결과

drwxr-xr-x 5 ec2-user ec2-user 4096  2월 26 07:18 /home/ec2-user/actions-runner/

권한 아이디와 그룹이 ec2-user로 변경된 걸 볼 수 있다.

 

 

이후 ./run.sh 를 해서 runner를 실행시키니 문제없이 작동하였다.

 

알게된점

구글링에 찾아봤을 때 나랑 똑같이 해멘 사람들이 없는 걸 보면 나의 기초 지식이 부족했던 것 같다. 문제 조차 별거 아닌 리눅스에 대한 기초 지식만 알고 있었다면 쉽게 알아 낼 수 있었던 문제였다. 리눅스는 기본 파일에 대한 권한이 있다는 것을 알게 되었고 리눅스 공부에 필요성을 느끼게 되었다. 

 

참고

https://mag1c.tistory.com/465