In unserem Ubuntu-Server können wir als Nginx-Benutzer klonen /usr/share/nginx/www
, der über www-data:www
den Besitz von -data verfügt und eine Warnung erhält
”Warnung: Zugriff auf '/root/.config/git/attributes' nicht möglich: Berechtigung verweigert”
Wir führen den Befehl als aus sudo -u www-data git clone <repo>.
Mit sudo bekommen wir diese Warnung, sonst funktioniert es gut.
Wir können als Root-Benutzer klonen und es gibt kein Problem.
.gitconfig befindet sich nur im Stammverzeichnis und siehe Inhalt:
root@geo:~# cat /root/.gitconfig
[user]
name = pc_user
email = [email protected]
root@geo:~#
Kann uns bitte jemand dabei helfen.
Wir haben verschiedene Optionen ausprobiert, wie manuell /root/.config/
direkt erstellt und Berechtigungen geändert usw., aber nichts funktioniert. Kann mir bitte jemand dabei helfen.
Bitte beachten Sie auch dies:
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
Es scheint also ein Problem mit dem Git-Setup zu sein. Kann uns bitte jemand führen.
Ich verwende dieses Setup auf einem Ubuntu 14.04. Wenn ich das gleiche Setup in einem anderen Ubuntu 12.04 mache, funktioniert es einwandfrei.
Auch das habe ich gemacht:
Erstellt einen Benutzer geopc und hinzugefügt zur sudoers Liste und wenn wir uns als geopc Benutzer angemeldet haben und diesen Befehl ausführen, sudo -u www-data git clone -v git@....../test.git
funktioniert es perfekt.
Das Problem ist also, wenn wir uns in Ubuntu 14.04 direkt als Root angemeldet haben und klonen, sobald sudo -u www-data git clone
diese Warnung kommt. Aber es ist nicht in Ubuntu 12.04.
Wir verwenden Git Version 1.9.1 unter Ubuntu 14.04. Wir haben Git auch auf Version 2.1.1 aktualisiert, aber das gleiche.
/root
. Wenn nicht, sollten die Dateisystemberechtigungen Dinge wie AppArmor oder SELinux den Webserverzugriff auf / root blockieren.Antworten:
@mu ist richtig. Dies ist ein Problem, bei dem die HOME-Umgebungsvariable des Benutzers
root
anstelle der HOME-Umgebungsvariablen des Benutzers an das Skript übergebenwww-data
wird.Sie müssen jedoch nur den Schalter -H zum Befehl sudo hinzufügen, damit es ziemlich einfach ist:
quelle
Ich denke, die
HOME
Variable ist falsch eingerichtet.Aus dem Google-Gruppenthread ,
quelle
Sie müssen Ihre Stash-Instanz nur mit einem anderen Benutzer als root neu starten. In der Regel entspricht der Benutzer dem, den Sie zum Zeitpunkt der Installation verwendet haben.
zB atlstash
Dadurch wird Ihre HOME-Variable als / home / atlstash festgelegt und das Problem behoben
quelle