본문 바로가기
ERROR

[Scp error] Scp로 옮길때 Permission denied 오류 발생 (cannot open directory '/bitnami/.../data': Permission denied)

by Nuridal_class 2024. 1. 11.
728x90
728x90

Scp로 파일이나 폴더 옮길 때 Permission denied 오류!!

종종 서버에서 다른 서버로 데이터를 옮길 때 권한이 없다고 오류가 발생하는데 이게 아주 씅질이 날 때가 있다
이번 포스팅으로 이런 오류 발생 시 해결하는 방법에 대해서 알아보겠다

 

오류 발생 상황 및 이유

scp -r docker-apps user@125.0.0.1:/ 이란 명령을 사용했을 때 아래와 같은 오류가 발생했다

scp permission denied

위에 사진과 같이 Permission denied 오류가 나서 옮길 수가 없는데
옮겨야 할 서버에 권한이 아래과 같다고 보면
drwxr-xr-x 5 root root 4096 1월 10 16:55 docker-apps/
이때 소유자가 root 이기 때문에 옮겨지지 않는 것이었다

 

 해결 방법

해결방법은 상대적으로 간단하다 
docker-apps의 권한인 root를 사용자 권한으로 바꿔주면 됩니다
sudo chown -R user:user docker-apps


바뀌면 drwxr-xr-x 5 user user4096 1월 10 16:55 docker-apps/ 이렇게 보일 것이고
그 뒤에 다시 scp를 하면 정상적로 수행될 것입니다

📌 만약에 그래도 안된다고 하면 받아야 하는 서버에 docker-apps의 권한도 사용자로 바꿔보세요!

 

 Mongodb와 Postgres 경우

mongodb와 postgres docker를 옮길 때
docker bitnami/postgresql/data : permission denied
cannot open directory '/bitnami/postgresql/data': Permission denied
이렇게 권한이 없다고 뜨는데 이때는 사용자로 소유자를 바꿔도 오류가 발생하는데
이유는 mongodb나 postgres는 컨테이너 사용자가 다르기 때문이라 했던 거 같다 (정확하지는 않습니다ㅠ)
해결방법은 검색해 보니 아래와 같다
sudo chown -R 1001:1001 mongodb
이렇게 하고 나면 1001이나 tester로 표시가 될 것입니다

그리고 다시 docker restart를 해보시고 docker logs나 exec로 확인해 보시면 됩니다


이번 포스팅으로 SCP 사용할 때 나오는 오류인 Permission denied에 대해서 알아보았고

추가적으로 mongodb나 postgres 컨테이너 사용할때 권한 오류도 같이 알아보았습니다

그럼 코딩이 쉬워지는 그날까지!!

728x90
300x250