Dalam Ubuntu Server kami mampu clone sebagai Nginx pengguna dalam /usr/share/nginx/www
yang memiliki www-data:www
kepemilikan -data mendapatkan peringatan seperti
”Peringatan: tidak dapat mengakses '/root/.config/git/attributes': Izin ditolak”
Kami menjalankan perintah sebagai sudo -u www-data git clone <repo>.
Dengan sudo kita mendapatkan peringatan ini jika tidak berfungsi dengan baik.
Kami dapat mengkloning sebagai pengguna root dan tidak ada masalah.
.gitconfig hanya terletak di root dan lihat isinya:
root@geo:~# cat /root/.gitconfig
[user]
name = pc_user
email = [email protected]
root@geo:~#
Adakah yang bisa membantu kami dalam hal ini?
Kami mencoba berbagai opsi seperti yang dibuat secara manual secara /root/.config/
langsung dan mengubah izin dll. Tetapi tidak ada yang berfungsi. Adakah yang bisa membantu saya untuk itu?
Silakan lihat ini juga:
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
Jadi sepertinya ada masalah dengan setup git. Adakah yang bisa membimbing kami?
Saya menggunakan pengaturan ini pada Ubuntu 14.04. Ketika saya melakukan pengaturan yang sama di Ubuntu 12,04 lainnya, itu berfungsi dengan baik.
Saya juga melakukan ini:
Membuat geopc pengguna dan ditambahkan ke daftar sudoers dan ketika kami login sebagai pengguna geopc dan melakukan perintah ini sudo -u www-data git clone -v git@....../test.git
berfungsi dengan baik.
Jadi masalahnya adalah ketika kita langsung login sebagai pengguna root di Ubuntu 14.04 dan melakukan kloning saat sudo -u www-data git clone
peringatan ini datang. Tapi ini bukan di Ubuntu 12.04.
Kami menggunakan git versi 1.9.1 di Ubuntu 14.04 kami juga meningkatkan git ke versi 2.1.1 tetapi sama.
/root
. Jika tidak, izin sistem file dari yang pasti hal-hal seperti AppArmor atau SELinux harus memblokir akses server web ke / root.Jawaban:
@mu benar. Ini adalah masalah variabel lingkungan HOME dari pengguna
root
yang diteruskan ke skrip alih-alihwww-data
variabel lingkungan HOME.Anda hanya perlu menambahkan tombol -H ke perintah sudo, jadi ini cukup mudah:
sumber
Saya pikir
HOME
variabel tidak diatur dengan benar.Dari utas grup google ,
sumber
Anda hanya perlu me-restart instance simpanan Anda menggunakan pengguna lain lalu root. Biasanya, pengguna akan sama seperti yang Anda gunakan pada saat instalasi.
misalnya atlstash
Melakukan ini akan mengatur variabel HOME Anda sebagai / home / atlstash dan menyelesaikan masalah Anda
sumber