Na naszym serwerze Ubuntu jesteśmy w stanie sklonować jako użytkownik Nginx w /usr/share/nginx/www
tym, że www-data:www
-data własności otrzymuje ostrzeżenie jako
”Ostrzeżenie: nie można uzyskać dostępu do„ /root/.config/git/attributes ”: Odmowa dostępu”
Wykonujemy polecenie jako sudo -u www-data git clone <repo>.
Z sudo otrzymujemy to ostrzeżenie, w przeciwnym razie działa dobrze.
Jesteśmy w stanie sklonować jako użytkownik root i nie ma problemu.
.gitconfig znajduje się tylko w katalogu głównym i zapoznaj się z zawartością:
root@geo:~# cat /root/.gitconfig
[user]
name = pc_user
email = [email protected]
root@geo:~#
Czy ktoś może nam w tym pomóc.
Próbowaliśmy różnych opcji, takich jak ręcznie tworzone /root/.config/
bezpośrednio i zmieniane uprawnienia itp., Ale nic nie działa. Czy ktoś może mi w tym pomóc.
Zobacz także:
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
Wygląda więc na problem z konfiguracją git. Czy ktoś może nas poprowadzić.
Korzystam z tej konfiguracji na Ubuntu 14.04. Gdy wykonam tę samą konfigurację w innym Ubuntu 12.04, wszystko działa idealnie.
Zrobiłem to również:
Utworzono geopc użytkownika i dodano go do listy sudoers, a kiedy zalogowaliśmy się jako użytkownik geopc i wykonamy to polecenie, sudo -u www-data git clone -v git@....../test.git
działa idealnie.
Problem polega na tym, że zalogowaliśmy się bezpośrednio jako użytkownik root w Ubuntu 14.04 i dokonaliśmy klonowania w momencie pojawienia się sudo -u www-data git clone
tego ostrzeżenia. Ale nie ma go w Ubuntu 12.04.
Używamy gita w wersji 1.9.1 na Ubuntu 14.04, zaktualizowaliśmy również git do wersji 2.1.1, ale tak samo.
/root
. Jeśli nie uprawnienia systemu plików, to z pewnością rzeczy takie jak AppArmor lub SELinux powinny blokować dostęp serwera WWW do katalogu / root.Odpowiedzi:
@mu ma rację. Jest to problem polegający na tym, że zmienna środowiskowa HOME użytkownika
root
jest przekazywana do skryptu zamiastwww-data
zmiennej środowiskowej HOME użytkownika .Musisz tylko dodać przełącznik -H do polecenia sudo, więc jest to dość łatwe:
źródło
Myślę, że
HOME
zmienna jest niepoprawnie skonfigurowana.Z grupy nici google ,
źródło
Musisz tylko zrestartować instancję skrytki, używając użytkownika innego niż root. Zazwyczaj użytkownik byłby taki sam, jak użytkownik użyty podczas instalacji.
np. atlstash
W ten sposób ustawisz zmienną HOME jako / home / atlstash i rozwiążesz problem
źródło