'/root/.config/git/attributes' öğesine erişilemiyor: İzin> reddedildi ”


10

Bizim Ubuntu Server biz Nginx kullanıcı olarak klon edebiliyoruz /usr/share/nginx/wwwyani sahip www-data:wwwbir uyarı olarak almak yüzeyi kurulan sahipliğini

”Uyarısı: '/root/.config/git/attributes' öğesine erişilemiyor: İzin reddedildi”

Komutu şu şekilde yürütüyoruz: sudo -u www-data git clone <repo>.

Sudo ile bu uyarıyı alıyoruz, aksi takdirde iyi çalışıyor.

Kök kullanıcısı olarak klonlayabiliriz ve herhangi bir sorun yoktur.

.gitconfig sadece kök dizinindedir ve lütfen içeriğe bakınız:

root@geo:~# cat /root/.gitconfig
[user]
        name = pc_user
        email = pcgeopc@gmail.com
root@geo:~#

Herkes lütfen bize yardımcı olabilir.

Manuel olarak oluşturulan /root/.config/ve izin vb. Gibi çeşitli seçenekleri denedik . Ama hiçbir şey çalışmıyor. Biri lütfen bana yardım edebilir mi?

Ayrıca lütfen şuna bakın:

root@geo:/setup/test# ll /setup/
total 16
drwxr-xr-x  4 www-data www-data 4096 Oct  9 00:14 ./
drwxr-xr-x 24 root     root     4096 Oct  9 00:14 ../
drwxr-xr-x  3 www-data www-data 4096 Oct  9 00:14 test/

root@geo:/setup/test# sudo -u www-data git clone -v git@....../test.git
Cloning into 'test'...
remote: Counting objects: 8323, done.
remote: Compressing objects: 100% (6459/6459), done.
remote: Total 8323 (delta 1543), reused 8241 (delta 1500)
Receiving objects: 100% (8323/8323), 39.85 MiB | 19.52 MiB/s, done.
Resolving deltas: 100% (1543/1543), done.
Checking connectivity... done.
warning: unable to access '/root/.config/git/attributes': Permission denied

Yani git kurulumu ile ilgili bir sorun var gibi görünüyor. Herhangi biri bize rehberlik edebilir.


Bu kurulumu bir Ubuntu 14.04'te kullanıyorum. Aynı kurulumu başka bir Ubuntu 12.04'te yaptığımda mükemmel çalışıyor.

Ayrıca bunu yaptım:

Bir kullanıcı geopc'i oluşturdu ve sudoers listesine ekledi ve geopc kullanıcısı olarak giriş yaptığımızda ve bu komutu sudo -u www-data git clone -v git@....../test.git mükemmel şekilde çalışıyor.

Dolayısıyla sorun, doğrudan Ubuntu 14.04'te kök kullanıcı olarak oturum açtığımızda ve sudo -u www-data git clonebu uyarı geldiğinde klonlama yaptığımız zamandır . Ama Ubuntu'da değil 12.04.

Ubuntu 14.04'te git 1.9.1 sürümünü kullanıyoruz, git'i 2.1.1 sürümüne de yükselttik, ancak aynı.


1
Dosya sistemi izinlerinin www-data dahil olmak üzere diğer tüm kullanıcıların altındaki dosyalara erişimini engellemesi oldukça tipiktir /root. Değilse dosya sistemi izinleri kesinlikle AppArmor veya SELinux gibi şeylerden web sunucusunun / root erişimini engellemelidir.
HBruijn

Öyle gözükmüyor .. Soruyu değiştirdim, lütfen kontrol edin.
Geo


Bu cevabı kullanıyorum ve bu cevabı benim için çalışıyor. Kendinizi deneyin
Toir427

Yanıtlar:


10

@mu haklı. Bu, kullanıcının HOME ortam değişkeni rootyerine komut dosyasına iletilen kullanıcının HOME ortam değişkeninin bir sorunudur www-data.

Sudo komutuna -H anahtarını eklemeniz yeterlidir, bu yüzden oldukça kolaydır:

sudo -u www-data -H git clone -v git@....../test.git

1

HOMEDeğişkenin yanlış ayarlandığını düşünüyorum .

Gönderen google grup iplik ,

HOME ortam değişkeni, /rootbakıldığında /root/.gitconfigveya /root/.config/git/configayrıcalıksız kullanıcının /rootona erişimi olmadığı için bir hata verdi.

Bu yüzden çözüm, HOME env dosyasını kullanıcının HOME dizinine ayarlamaktı


benim için başlıyordu: HOME = / home / git git daemon ...
rofrol

-1

Sadece stash örneğinizi root dışında bir kullanıcı kullanarak yeniden başlatmanız yeterlidir. Tipik olarak, kullanıcı kurulum sırasında kullandığınızla aynı olur.

örneğin atlstash

Bunu yaptığınızda HOME değişkeniniz / home / atlstash olarak ayarlanır ve sorununuz çözülür

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.