En nuestro servidor Ubuntu podemos clonar como usuario de Nginx en el /usr/share/nginx/www
que la www-data:www
propiedad de datos recibe una advertencia como
"Advertencia: no se puede acceder a '/root/.config/git/attributes': permiso denegado"
Estamos ejecutando el comando como sudo -u www-data git clone <repo>.
Con sudo estamos recibiendo esta advertencia, de lo contrario está funcionando bien.
Podemos clonar como usuario root y no hay problema.
.gitconfig se encuentra solo en la raíz y consulte el contenido:
root@geo:~# cat /root/.gitconfig
[user]
name = pc_user
email = [email protected]
root@geo:~#
¿Alguien puede ayudarnos?
Intentamos varias opciones, como crear /root/.config/
directamente manualmente y cambiar el permiso, etc., pero nada funciona. ¿Alguien puede ayudarme en eso?
También por favor vea esto:
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
Entonces parece un problema con la configuración de git. ¿Alguien puede guiarnos?
Estoy usando esta configuración en un Ubuntu 14.04. Cuando hago la misma configuración en otro Ubuntu 12.04, funciona perfectamente bien.
También hice esto:
Creé un usuario geopc y lo agregué a la lista de sudoers y cuando iniciamos sesión como usuario geopc y hacemos este comando, sudo -u www-data git clone -v git@....../test.git
funciona perfectamente.
Entonces, el problema es cuando iniciamos sesión directamente como usuario root en Ubuntu 14.04 y clonamos cuando sudo -u www-data git clone
aparece esta advertencia. Pero no está en Ubuntu 12.04.
Estamos usando git versión 1.9.1 en Ubuntu 14.04, también actualizamos Git a la versión 2.1.1 pero igual.
/root
. Si no son los permisos del sistema de archivos, ciertamente cosas como AppArmor o SELinux deberían bloquear el acceso del servidor web a / root.Respuestas:
@mu tiene razón. Este es un problema de la variable de entorno HOME del usuario que
root
se pasa al script en lugar dewww-data
la variable de entorno HOME del usuario .Sin embargo, solo necesita agregar el interruptor -H al comando sudo, por lo que es bastante fácil:
fuente
Creo que la
HOME
variable está configurada incorrectamente.Del hilo del grupo de google ,
fuente
Solo necesita reiniciar su instancia de alijo utilizando otro usuario que no sea root. Por lo general, el usuario sería el mismo que utilizó en el momento de la instalación.
ej. atlstash
Hacer esto configurará su variable HOME como / home / atlstash y resolverá su problema
fuente