Không thể truy cập 'git / thuộc tính'


89

Cảnh báo remote: warning: unable to access '/root/.config/git/attributes': Permission deniedcó nghĩa là gì và nó mang lại những tác động gì?

$git clone git://git.eclipse.org/gitroot/egit/egit.git
Cloning into 'egit'...
remote: warning: unable to access '/root/.config/git/attributes': Permission denied
remote: Counting objects: 57926, done.
remote: Compressing objects: 100% (11872/11872), done.
remote: Total 57926 (delta 30734), reused 56308 (delta 29136)
Receiving objects: 100% (57926/57926), 32.29 MiB | 1021 KiB/s, done.
Resolving deltas: 100% (30734/30734), done.
Checking out files: 100% (1483/1483), done.

Tôi có nên báo cáo vấn đề cơ sở hạ tầng tiềm ẩn cho nhà cung cấp dịch vụ lưu trữ không?


Bạn có thể giải quyết điều này không?
mu 無

@mu 無 Không, tôi miễn cưỡng báo cáo lỗi lưu trữ về vấn đề này vì tôi vẫn chưa có câu trả lời chính xác.
Basilevs

Câu trả lời:


188

Tôi đã tự mình gặp phải tình huống này. Sau khi xác minh rằng nó đang tìm kiếm, ~/.config/tôi nhận thấy chủ nhân của thư mục đó là root. Tôi đã thay đổi điều này thành my_user_namevà nó hoạt động.

cd ~/
ls -al
<Noticed .config was owned by root, unlike everything else in $HOME>
sudo chown -R $(whoami) .config

Nó cũng giúp biết nguyên nhân: Thư mục này được tạo lần đầu tiên bạn chạy một chương trình sử dụng nó. Nếu lệnh được chạy dưới dạng root, nó sẽ gây ra vấn đề về quyền này.

Ví dụ, nếu ~/.configthư mục chưa tồn tại và bạn chạy sudo htop, các thư mục ~/.config~/.config/htopsẽ được tạo và sở hữu bởi root. Sau đó, một lệnh git thông thường sẽ không thể truy cập ~/.configvà sẽ đưa ra cảnh báo ở trên. (Tín dụng: người dùng mehtunguh)

Các -Rtùy chọn với chownlà để sửa đổi các điều khoản một cách đệ quy. Điều này sẽ hữu ích nếu bạn có các thư mục con dưới~/.config


6
điều đó cũng giúp tôi khi sử dụng dòng lệnh linux bên trong windows 10 - cảm ơn bạn!
lukaszkups

1
đây là một tiết kiệm thời gian tuyệt vời
Prithvi Raj Vuppalapati

7
Nó cũng giúp biết nguyên nhân - Thư mục này được tạo lần đầu tiên bạn chạy một chương trình sử dụng nó. Nếu lệnh được chạy dưới dạng root, nó sẽ gây ra sự cố về quyền này. Ví dụ, nếu ~/.configthư mục chưa tồn tại và bạn chạy sudo htop, các thư mục ~/.config~/.config/htopsẽ được tạo và sở hữu bởi root. Khi đó một gitlệnh thông thường không thể truy cập ~/.configvà sẽ đưa ra cảnh báo này.
mehtunguh 22/10/18

1
@mehtunguh Vui lòng xem xét thêm điều này vào câu trả lời của tôi! Đây là thông tin có giá trị để chắc chắn.
BlackVegetable

@mehtunguh Tôi đã thêm thông tin chi tiết của bạn vào câu trả lời này. Cám ơn bạn một lần nữa.
BlackVegetable

9

Tôi nghĩ rằng HOMEbiến môi trường của bạn được đặt không đúng.

Từ chuỗi nhóm của google ,

biến môi trường HOME được đặt thành để /rootnó nhìn vào /root/.gitconfighoặc /root/.config/git/configdo 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 cho tôi là đặt HOME env thành thư mục HOME của người dùng


2

Git đang cố gắng đọc cấu hình từ gốc thay vì cấu hình người dùng. Vui lòng kiểm tra các biến môi trường của bạn đã đặt đúng cấu hình git chưa hay tệp .gitconfig trong thư mục chính của bạn có thể truy cập được.


Có bất kỳ vấn đề tiềm ẩn nào gây ra bởi điều này không?
Basilevs

2

Đi tới thư mục gốc

cd ~/

Viết đoạn mã sau:

sudo chown -R username /Users/username

Trong đó tên người dùng là tên người dùng hệ thống của bạn.


Câu trả lời cho "Tôi có nên thay đổi quyền sở hữu thư mục .config có trong thư mục chính của tôi không?" Là phù hợp. askubuntu.com/questions/852265/…
CodingMatters

0

Tôi đã gặp sự cố tương tự và có thể khắc phục nó ở phía máy chủ. git chạy ở đó dưới uwsgi vì vậy tôi đã thêm vào cấu hình uwsgi dòng sau:

env = HOME=/srv/git

trong đó / srv / git được sở hữu bởi cùng một uid mà uwsgi chạy dưới và tạo chmod u+rwX /srv/git Vì vậy, bạn cần trỏ biến HOME ở phía máy chủ cho quá trình chạy git tới thư mục mà quá trình này sẽ có quyền đọc / ghi / traverse.


0

Đối với Windows, có thể xảy ra trường hợp một số quá trình như CMD hoặc SSH client đã mở một số thư mục mà Git cố gắng xóa.

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.