Notice
Recent Posts
Recent Comments
Link
«   2025/12   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Archives
Today
Total
관리 메뉴

Milan Dev

mac os[M1] 권한 문제 해결 #permission denied 본문

Flutter

mac os[M1] 권한 문제 해결 #permission denied

jjjuyoa 2023. 12. 21. 19:28

gatsby로 블로그를 만들기 위해 개발환경을 세팅하던 도중 권한 문제로 꽤 애를 먹었다....

아마 계속 permission denied 에러가 뜨면서 명령을 거부한다... + vscode로 만든 블로그 디렉토리에 파일을 추가, 수정, 삭제하는 권한 역시 사용이 불가능 했다... 그래서 터미널을 통해 현재 사용중인 디렉토리들의 권한 상태를 체크해보았다... 

(이건 이미 변경한 내 화면 예시이다... 리눅스 문법은 스킵하겠다 ㅎ)

 

이미지를 보면 본인이 정한 사용자 이름(나 같은 경우'gimjeonghwan')이 써있는걸 볼 수 있다.

아마 특별한 설정을 하지 않는 이상 터미널을 사용자 이름 디렉토리에 파일이나 프로그램들을 설치하고 사용할 것 이다. 

터미널에서 본인이 사용하고자 하는 디렉토리로 이동 후(/cd [본인이 원하는 경로]), ls -l을 실행해 보자.

그러면 아마 사용자 이름이 본인의 사용명이 아닌 root로 되어있을 것이다.

npm을 설치하는 사람들에게 흔히 나타나는데 sudo를 사용하여 npm등을 설치 할 경우, 권한을 사용자가 아닌 root가 갖게 된다. 

 

그렇다는건... 권한자가 root인 부모 밑으로 새로운 무엇인가를 삽입, 삭제, 변경하기 위해선 항상 root의 권한으로(sudo 사용) 

작업을 해야한다는 것이다... 

너무 불편함;

 

권한 변경을 chmod를 사용하는데 일일이 찾아서 권한 허락해주는 작업도 귀찮고 그냥 소유주를 사용자명으로 변경하기 위해

chown을 사용했다.

 

여기가 핵심!

(나 혼자 사용하는 맥북이기 때문에 소유주를 내 이름으로만 했음, 뭔가 잘못될 거 같은 사람은 그냥 sudo 사용하세요...)

1. 본인의 사용자명 디렉토리에 터미널을 켜준다.(pwd 입력했을 때 보통 /Users/[사용자명])

2. ls -l로 현재 사용중인 디렉토리의 권한을 확인한다. 본인이 사용하고자 하는 디렉토리의 권한이 root인 것을 확인하면...

3. chown -R [사용자명] [변경하고자 하는 디렉토리 이름] 입력하자

 

chown은 디렉토리의 소유주를 바꾸는 명령어고 -R은 변경하고자 하는 해당 디렉토리의 자식들도 모두 소유주를 적용한다는 뜻이다. 

 

본인은 이 방법으로 디렉토리 권한 문제를 해결하여 sudo와 빠빠이 했다(당분간...)