[삽질 로그] ssh환경 - 권한 오류..?

iamchaeeon·2024년 6월 30일
1

1. 파일 권한 변경 오류

chmod: changing permissions of 'index.html' : Operation not permitted

  • 해커톤 준비하면서 ssh 환경에서 작업을 했는데 ssh 환경을 ctf풀 때 밖에 써보지 않아서 익숙치않다 보니 오류를 많이 만났는데 그 첫 번째 오류로 파일 편집이 안된다는 점..! 이었음 .
  • 기존 index.html 파일을 편집하려고 하자 vim에서 읽기모드 라서 편집이 안된다. 라는 오류가 뜸.
  • 그래서 vim에서 나와서 chmod +w index.html 을 해주려하니까 위의 내용과 같은 에러메세지가 뜸.

chmod_error

  • 파일의 소유자가 아니면 해당 오류가 발생할 수 있음.
👾 sudo chown $(whoami) index.html
  • 위 명령어를 통해 소유권을 현재 사용자로 변경하면 쓰기 권한을 설정할 수 있게 됨.

2. git commit 오류

  • 파일을 수정하고 커밋을 하려고 하니까 아래와 같은 오류가 뜸.

fatal: detected dubious ownership in repository at '/home/pnubuddy/github/P-bud’

  • 이 오류는 git 에서 보안 상의 문제를 방지하기 위해 경로를 차단해버린 것이라고 한다. 그래서
👾 `git config --global --add safe.directory [디렉토리 명]`

으로 safe directory로 등록해줄 수 있다.


  • 이젠 진짜 되겠지 .. 하고 git add . 을 시도함 .. 그런데 또

fatal: Unable to create '/home/pnubuddy/github/P-bud/.git/index.lock': Permission denied

가 뜸..;;

  • 이 오류는 현재 사용자가 .git 디렉토리에 쓰기 권한이 없기 때문에 생기는 오류라고 한다 . ( 또 권한이 ..ㅡㅡ ; )
👾 `sudo chown $(whoami):$(whoami) /home/pnubuddy/github/P-bud/ -R` 

or

👾`sudo chown -R yourusername:yourgroup /path/to/directory`

를 통해 소유권을 변경해줄 수 있다.

  • chown은 change owner 의 약자로 파일이나 디렉토리에 대한 소유권을 변경하는 명령어이다.
  • -R 옵션은 해당 디렉토리에 하위 디렉토리 파일이 있는 경우 그 디렉토리에도 재귀적(Recursive)으로 작용하게 하기위한 옵션이다.

chown-R

  • 이제 소유권을 가졌기에 해당 디렉토리의 권한을 변경 할 수 있다 .
👾 sudo chmod -R 775 .git

이후 커밋을 해보면 커밋 과 푸시가 모두 정상적으로 된다!


정리

//fatal: detected dubious ownership in repository at '/home/pnubuddy/github/P-bud’

sudo chown $(whoami) [파일명]

//fatal: detected dubious ownership in repository at '/home/pnubuddy/github/P-bud’

sudo chown -R <username>:<usergroup> .git 

sudo chmod -r 775 .git 

0개의 댓글