Quyền không an toàn trên tập tin cấu hình `/home/david/.gnupg/gpg.conf. Ý nghĩa của nó là gì và cách khắc phục?


8
gpg: WARNING: unsafe permissions on configuration file `/home/david/.gnupg/gpg.conf'
gpg: WARNING: unsafe enclosing directory permissions on configuration file `/home/david/.gnupg/gpg.conf'
gpg: external program calls are disabled due to unsafe options file permissions
gpg: keyserver communications error: general error
gpg: keyserver receive failed: general error

Nó có nghĩa là gì và làm thế nào để khắc phục?

Câu trả lời:


13

gpg: CẢNH BÁO: quyền không an toàn trên tệp cấu hình /home/david/.gnupg/gpg.conf' gpg: WARNING: unsafe enclosing directory permissions on configuration file/home/david/.gnupg/gpg.conf 'gpg: các cuộc gọi chương trình bên ngoài bị vô hiệu hóa do quyền của tệp tùy chọn không an toàn

Điều này có nghĩa là bạn ~/.gnupg/gpg.confcó quyền bất ngờ cho người dùng mà bạn đang chạy, như quyền truy cập ghi vào "người khác", người dùng khác hoặc bit thực thi. Tập tin này phải luôn luôn vì lý do bảo mật chỉ có thể đọc và ghi được bởi người dùng chứ không phải ai khác :

$ ls -l ~/.gnupg/gpg.conf
-rw------- 1 braiam braiam 7890 Jul  8 18:51 .gnupg/gpg.conf

Bạn có thể có người dùng hoặc quyền khác nhau. Kiểm tra chúng bằng cách sử dụng ls -l ~/.gnupg/gpg.conf. Để khắc phục điều này là đủ đơn giản:

chown $(whoami):$(whoami) ~/.gnupg/gpg.conf ## if this fails read at the bottom
chmod 600 ~/.gnupg/gpg.conf

Nếu một số lệnh không thành công hoặc bạn tiếp tục nhận được thông báo lỗi mà bạn đã đề cập sau khi làm theo các hướng dẫn này, bạn nên xóa ~/.gnupgthư mục, vì nó không thể tin cậy được nữa.

rm -r ~/.gnupg/gpg.conf ## If this fails, use sudo

Sau đó, bạn có thể thử chạy gpglệnh với cùng một người dùng sẽ chạy tập lệnh, theo cách này người dùng của bạn với ~/.gnupgthư mục tạo với các quyền thích hợp.


1
Trên Cygwin, chỉ có điều này hoạt động:chmod 700 .gnupg
CMCDragonkai

12

Bạn có thể đã di chuyển .gnupgthư mục của mình từ một máy khác hoặc giả mạo một cách khác với các quyền của tệp.

GnuPG thực thi quyền sở hữu riêng của thư mục và một số tệp vì lý do bảo mật.

Hai dòng này sửa các quyền. Cái đầu tiên đảm bảo rằng ~/.gnupgthư mục (và mọi thứ trong đó) thực sự là của bạn. Để có thể vượt qua quyền sở hữu, nó đòi hỏi quyền root, do đó sudo. Dòng thứ hai đảm bảo không ai ngoài bạn có thể đọc nội dung của nó (xóa quyền đọc, ghi và thực thi quyền cho nhóm và người dùng khác). Tên người dùng của bạn được chèn tự động, do đó bạn có thể sao chép trực tiếp các dòng vào thiết bị đầu cuối của mình:

sudo chown -R ${USER}:${USER} ~/.gnupg
chmod -R go-rwx ~/.gnupg

Và đó là câu trả lời ngắn nhất.
Michał Leon

3

Tôi chỉ phải đối mặt với cùng một vấn đề. Hóa ra tôi đang chạy gpglệnh bằng cách sử dụng sudo. Khi tôi thử lại mà không có sudo, nó hoạt động tốt và không có lỗi nào được hiển thị. Vì vậy, nó có thể là trường hợp cho bạn quá.

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.