Tidak dapat mengakses 'git / atribut'


95

Apa arti peringatan remote: warning: unable to access '/root/.config/git/attributes': Permission denieddan implikasinya?

$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.

Haruskah saya melaporkan potensi masalah infrastruktur kepada pengelola?


Apakah Anda dapat menyelesaikannya?
mu 無

@mu 無 Tidak, saya enggan melaporkan bug di hosting tentang ini karena saya masih belum memiliki jawaban pasti.
Basilevs

Jawaban:


198

Saya sendiri mengalami situasi ini. Setelah memverifikasi ~/.config/bahwa folder itu sedang mencari, saya perhatikan pemilik folder itu root. Saya mengubah ini menjadi my_user_namedan berhasil.

cd ~/
ls -al
<Noticed .config was owned by root, unlike everything else in $HOME>
sudo chown -R $(whoami) .config

Ini membantu untuk mengetahui penyebabnya juga: Direktori ini dibuat saat pertama kali Anda menjalankan program yang menggunakannya. Jika perintah dijalankan sebagai root, itu akan menyebabkan masalah izin ini.

Misalnya, jika ~/.configdirektori belum ada, dan Anda menjalankan sudo htop, direktori ~/.configdan ~/.config/htopakan dibuat dan dimiliki oleh root. Setelah itu, perintah git biasa tidak dapat diakses ~/.configdan akan memberikan peringatan di atas. (Kredit: pengguna mehtunguh)

The -Rpilihan dengan chownyaitu untuk mengubah hak akses secara rekursif. Ini akan membantu jika Anda memiliki subfolder di bawah~/.config


6
itu juga membantu saya saat menggunakan baris perintah linux di dalam windows 10 - terima kasih!
lukaszkups

1
ini adalah penghemat waktu yang hebat
Prithvi Raj Vuppalapati

7
Ini membantu untuk mengetahui penyebabnya juga - Direktori ini dibuat saat pertama kali Anda menjalankan program yang menggunakannya. Jika perintah dijalankan sebagai root, itu akan menyebabkan masalah izin ini. Misalnya, jika ~/.configdirektori belum ada, dan Anda menjalankan sudo htop, direktori ~/.configdan ~/.config/htopakan dibuat dan dimiliki oleh root. Kemudian gitperintah biasa tidak dapat mengakses ~/.configdan akan memberikan peringatan ini.
mehtunguh

1
@mehtunguh Harap pertimbangkan untuk menambahkan ini ke jawaban saya! Ini adalah informasi yang berharga untuk memastikan.
BlackVegetable

@mehtunguh Saya menambahkan wawasan Anda tentang jawaban ini. Terima kasih lagi.
BlackVegetable

9

Saya pikir HOMEvariabel lingkungan Anda tidak disetel dengan benar.

Dari utas grup google ,

variabel lingkungan HOME disetel untuk /rootdilihat /root/.gitconfigatau /root/.config/git/configkarena pengguna yang tidak memiliki hak istimewa tidak memiliki akses ke /rootsana membuat kesalahan.

Jadi solusinya adalah saya mengatur HOME env ke direktori HOME pengguna


2

Git mencoba membaca konfigurasi dari root alih-alih konfigurasi pengguna. Harap periksa apakah variabel lingkungan Anda memiliki set konfigurasi git yang benar atau file .gitconfig di folder beranda Anda dapat diakses.


Apakah ada masalah potensial yang disebabkan oleh ini?
Basilevs


0

Saya telah menjalankan masalah serupa dan dapat memperbaikinya di sisi server. git berjalan di sana di bawah uwsgi jadi saya menambahkan di konfigurasi uwsgi baris berikut:

env = HOME=/srv/git

di mana / srv / git dimiliki oleh uid yang sama yang dijalankan uwsgi dan dibuat. chmod u+rwX /srv/git Jadi, Anda perlu mengarahkan variabel HOME di sisi server untuk proses yang menjalankan git ke direktori tempat proses ini akan memiliki izin membaca / menulis / melintasi.


0

Untuk Windows, ini mungkin merupakan kasus ketika beberapa proses seperti klien CMD atau SSH membuka beberapa folder yang Git coba hapus.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.