알 수 없는 이유로 대부분의 터미널 명령을 실행하려면 갑자기 sudo를 사용해야 합니다. 예를 들어, "git pull/push" 등을 아무 문제 없이 실행할 수 있었습니다. 이제 "권한이 거부되었습니다"라는 메시지가 나타납니다. 권한을 기본값으로 재설정하는 방법이 있나요? 저는 OS X 요세미티를 사용하고 있습니다.
답변1
sudo
첫 번째 답변과 마찬가지로 개인 공간에서 상승된 명령을 사용하여 다양한 명령을 실행했습니다. 이제 개인 공간의 디렉토리는 귀하의 소유가 아니라 루트의 소유입니다. 매개 변수 없이 이것을 입력 하면 cd
개인 공간의 맨 아래(시작 위치)로 이동하여 명령을 사용하여 볼 수 있습니다 pwd
.
많은 시스템에서 개인 공간은 기본적으로 /home/[사용자 이름]입니다.
have to execute most terminal commands using sudo
전체 홈 디렉터리에 대한 액세스를 복원하면 이 문제를 해결할 수 있습니다 .
이렇게 하려면 먼저 홈 디렉터리로 이동한 다음 cd ..
.
이제 다음 명령을 실행하십시오.
$ sudo chown -R [your username] [your username]
사용자 이름이 ljames인 경우 다음 순서로 이 작업을 수행할 수 있습니다.
$ cd ~ljames
$ cd ..
$ sudo chown -R ljames ljames
이를 수행하는 방법에는 여러 가지가 있습니다. 변경 사항이 발생한 위치를 이해하는 데 도움이 되도록 이러한 세부 사항을 고려했습니다. 다음을 사용하여 명령줄에서 이 작업을 효율적으로 수행할 수 있습니다.
$ sudo chown -R ljames ~ljames
이제 개인 공간에서 작업할 때 이러한 permission denied
오류가 발생해서는 안 됩니다. 귀하의 허가는 귀하가 개인 영역(소위) 밖에서 일하는 경우에만 거부되어야 합니다 system wide
. sudo
이러한 영역을 변경하려면 관리자 권한 명령을 사용해야 합니다 .
답변2
이는 명령 자체가 아니라 수정하려는 폴더/파일의 권한에 따라 달라집니다. git 명령을 한 번 실행 sudo
하고 소유권을 루트로 변경했을 수 있습니다. 그 결과물을 저장소에 올려주시면 ls -l
좀 더 구체적인 답변을 드릴 수 있습니다 git
.
문제가 위에서 설명한 것과 같다고 가정하면 소유권을 사용자에게 다시 변경하여 문제를 해결할 수 있습니다( UserFoo
실제 사용자 이름으로 대체).
chown -R UserFoo /path/to/git/folder