không thể truy cập '/root/.config/git/attribut': Quyền> bị từ chối


10

Trong Ubuntu Server của chúng tôi chúng tôi có thể clone như sử dụng Nginx trong /usr/share/nginx/wwwđó có www-data:wwwquyền sở hữu -data nhận được một cảnh báo như

Cảnh báo của người dùng: không thể truy cập '/root/.config/git/attribut': Quyền bị từ chối

Chúng tôi đang thực hiện lệnh như sudo -u www-data git clone <repo>.

Với sudo, chúng tôi sẽ nhận được cảnh báo này nếu không nó hoạt động tốt.

Chúng tôi có thể sao chép như người dùng root và không có vấn đề gì.

.gitconfig chỉ nằm trong root và vui lòng xem nội dung:

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

Bất cứ ai có thể xin vui lòng giúp chúng tôi về nó.

Chúng tôi đã thử nhiều tùy chọn khác nhau như được tạo thủ công /root/.config/trực tiếp và thay đổi quyền, v.v. nhưng không có gì hoạt động. Bất cứ ai có thể xin vui lòng giúp tôi về nó.

Ngoài ra xin vui lòng xem điều này:

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

Vì vậy, nó có vẻ như một vấn đề với thiết lập git. Có ai có thể xin vui lòng hướng dẫn chúng tôi.


Tôi đang sử dụng thiết lập này trên Ubuntu 14.04. Khi tôi thực hiện cài đặt tương tự trong một Ubuntu 12.04 khác, nó hoạt động rất tốt.

Ngoài ra tôi đã làm điều này:

Tạo một người dùng geopc và thêm vào danh sách sudoers và khi chúng tôi đăng nhập với tư cách là người dùng geopc và thực hiện lệnh này thì sudo -u www-data git clone -v git@....../test.git nó hoạt động hoàn hảo.

Vì vậy, vấn đề là khi chúng tôi đăng nhập trực tiếp với tư cách người dùng root trong Ubuntu 14.04 và thực hiện sao chép khi sudo -u www-data git clonecảnh báo này xuất hiện. Nhưng nó không có trong Ubuntu 12.04.

Chúng tôi đang sử dụng git phiên bản 1.9.1 trên Ubuntu 14.04, chúng tôi cũng đã nâng cấp git lên phiên bản 2.1.1 nhưng tương tự.


1
Một điều khá điển hình là các quyền hệ thống tệp chặn tất cả người dùng khác, bao gồm cả dữ liệu www, truy cập các tệp bên dưới /root. Nếu không phải là quyền của hệ thống tệp thì chắc chắn những thứ như AppArmor hoặc SELinux sẽ chặn quyền truy cập máy chủ web vào / root.
HBruijn

Có vẻ như không .. Tôi đã sửa đổi câu hỏi xin vui lòng kiểm tra.
Geo


Tôi đang sử dụng câu trả lời này và câu trả lời này làm việc cho tôi. Hãy tự thử
Toir427

Câu trả lời:


10

@mu nói đúng. Đây là vấn đề về biến môi trường HOME của người dùng rootđược chuyển đến tập lệnh thay vì www-databiến môi trường HOME của người dùng .

Bạn chỉ cần thêm khóa -H vào lệnh sudo, vì vậy nó khá dễ:

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

1

Tôi nghĩ rằng các HOMEbiến được thiết lập không chính xác.

Từ chủ đề nhóm google ,

biến môi trường HOME được đặt thành để /rootnó nhìn vào /root/.gitconfighoặc /root/.config/git/configvì người dùng không có đặc quyền không có quyền truy cập vào /rootnó đã gây ra lỗi.

Vì vậy, giải pháp là để tôi đặt HOME env vào thư mục HOME của người dùng


đối với tôi nó đã bắt đầu: HOME = / home / git git daemon ...
rofrol 3/03/2015

-1

Bạn chỉ cần khởi động lại cá thể stash của mình bằng cách sử dụng người dùng khác sau đó root. Thông thường, người dùng sẽ giống như bạn đã sử dụng tại thời điểm cài đặt.

ví dụ:

Làm điều này sẽ đặt biến HOME của bạn là / home / atlstash và giải quyết vấn đề của bạn

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.