경고 remote: warning: unable to access '/root/.config/git/attributes': Permission denied
는 무엇을 의미하며 그 의미는 무엇입니까?
$git clone git://git.eclipse.org/gitroot/egit/egit.git
Cloning into 'egit'...
remote: warning: unable to access '/root/.config/git/attributes': Permission denied
remote: Counting objects: 57926, done.
remote: Compressing objects: 100% (11872/11872), done.
remote: Total 57926 (delta 30734), reused 56308 (delta 29136)
Receiving objects: 100% (57926/57926), 32.29 MiB | 1021 KiB/s, done.
Resolving deltas: 100% (30734/30734), done.
Checking out files: 100% (1483/1483), done.
잠재적 인 인프라 문제를 호스팅 업체에보고해야합니까?
답변
나는이 상황을 직접 만났다. ~/.config/
해당 폴더를 찾고 있는지 확인한 후 해당 폴더의 소유자가임을 알았습니다 root
. 나는 이것을로 변경 my_user_name
했고 작동했습니다.
cd ~/
ls -al
<Noticed .config was owned by root, unlike everything else in $HOME>
sudo chown -R $(whoami) .config
원인을 아는 것도 도움이됩니다.이 디렉토리는이를 사용하는 프로그램을 처음 실행할 때 생성됩니다. 명령이로 실행 된 root
경우이 권한 문제가 발생합니다.
예를 들어, ~/.config
디렉토리가 아직 존재하지 않고을 실행 sudo htop
하면 ~/.config
및 디렉토리 ~/.config/htop
가에서 생성되고 소유됩니다 root
. 그 후 일반 git 명령은 액세스 할 수 없으며 ~/.config
위의 경고를 표시합니다. (크레딧 : 사용자 mehtunguh)
-R
와 옵션 chown
IS는 재귀 적으로 권한을 수정합니다. 아래에 하위 폴더가있는 경우 도움이됩니다.~/.config
답변
귀하의 HOME
환경 변수가 잘못 설정된 것 같습니다.
로부터 구글 그룹 스레드 ,
HOME 환경 변수로 설정
/root
이 바라 보았다 그래서/root/.gitconfig
나/root/.config/git/config
에 접근하지 않은 권한이없는 사용자 때문에/root
그것이 오류가 발생했습니다.그래서 해결책은 HOME 환경을 사용자의 홈 디렉토리로 설정하는 것이 었습니다.
답변
Git은 사용자 구성 대신 루트에서 구성을 읽으려고합니다. 환경 변수에 올바른 git 구성 세트가 있는지 또는 홈 폴더의 .gitconfig 파일에 액세스 할 수 있는지 확인하십시오.
답변
루트 디렉토리로 이동
cd ~/
다음 코드를 작성하십시오.
sudo chown -R username /Users/username
여기서 username은 시스템의 사용자 이름입니다.
답변
비슷한 문제를 실행했으며 서버 측에서 해결할 수있었습니다. git은 uwsgi 아래에서 실행되므로 uwsgi config에 다음 줄을 추가했습니다.
env = HOME=/srv/git
여기서 / srv / git은 uwsgi가 실행하고 만든 동일한 uid가 소유 chmod u+rwX /srv/git
하므로 git을 실행하는 프로세스에 대한 서버 측의 HOME 변수를이 프로세스가 읽기 / 쓰기 / 트래버스 권한을 가질 디렉토리로 가리켜 야합니다.
답변
Windows의 경우 CMD 또는 SSH 클라이언트와 같은 일부 프로세스가 Git에서 삭제하려는 일부 폴더를 연 경우 일 수 있습니다.