2010-02-02 16 views
24

Tôi nhận được lỗi này khi tôi chạy mã này.

gpg --fingerprint 

gpg: CẢNH BÁO: quyền sở hữu không an toàn trong hồ sơ cấu hình '/home/dylan/.gnupg/gpg.conf

Vấn đề có vẻ là với các điều khoản, nhưng tôi đã cố gắng mã này, và nó dường như không thay đổi một điều gì. Kiểm tra thông qua nautilus, tôi sở hữu các tập tin và có đọc/ghi priv., Và tất cả những người khác thiết lập để 'không'.

sudo chmod 600 ~/.gnupg/gpg.conf


[email protected]:~$ sudo chown -R dylan ~dylan/.gnupg 
[sudo] password for dylan: 
[email protected]:~$ chmod 600 ~/.gnupg/gpg.conf 
[email protected]:~$ chmod 700 ~/.gnupg 
[email protected]:~$ gpg --fingerprint 
[email protected]:~$ sudo gpg --fingerprint 
gpg: WARNING: unsafe ownership on configuration file `/home/dylan/.gnupg/gpg.conf' 
[email protected]:~$ ls -al /home/dylan/.gnupg 
total 24 
drwx------ 2 dylan dylan 4096 2010-02-02 13:46 . 
drwxr-xr-x 60 dylan dylan 4096 2010-02-02 13:43 .. 
-rw------- 1 dylan dylan 9364 2010-01-27 06:34 gpg.conf 
-rw------- 1 dylan dylan 0 2010-01-27 06:34 pubring.gpg 
-rw------- 1 dylan dylan 0 2010-01-27 06:34 secring.gpg 
-rw------- 1 dylan dylan 40 2010-01-27 06:34 trustdb.gpg 
[email protected]:~$ 
+1

@Nona: như tôi đã nói trước đó, lệnh sudo (8), thực hiện lệnh dưới dạng 'root' (quản trị viên hệ thống). Khi bạn là root, bạn được phép làm bất cứ điều gì, sự cho phép của bạn mà bạn đã thay đổi với chmod (1) không liên quan đến 'root'. Đây là lý do tại sao bạn nhận được cảnh báo từ gpg (1). 'dylan @ Majuscule: ~ $ gpg --fingerprint' Có nghĩa vụ phải làm gì? – emil

Trả lời

41

lệnh chạy với sudo sẽ được chạy với quyền root. Những gì bạn muốn làm là sở hữu các tệp với tư cách là người dùng dylan, phải không?

Có thể như vậy, điều đó xảy ra khi root đang sở hữu tệp của bạn ngay bây giờ. Điều này có thể được thay đổi bởi:

sudo chown -R dylan ~dylan/.gnupg 

và sau đó là dylan:

chmod 600 ~/.gnupg/gpg.conf 
chmod 700 ~/.gnupg 

Để kiểm tra kết quả:

ls -l ~/.gnupg 
ls -ld ~/.gnupg 

Các chữ sang trái sau khi viết ls có nghĩa là:

r quyền truy cập đọc (4), w ghi truy cập (2), x thực hiện acess (1)

Vì vậy, 6 = 4 + 2 -> đọc và viết truy cập

Và 7 = 4 + 2 + 1 -> đọc, viết và thực thi quyền truy cập

Để có thể nhập một thư mục, bạn sẽ cần quyền truy cập thực thi.

Nếu bạn muốn tạo thư mục chỉ có thể duyệt qua nhưng không liệt kê các tệp, bạn có thể thực hiện: chmod 100 the_directory.

Đọc hướng dẫn sử dụng chmod(2) để biết thêm thông tin.

1

Chạy lệnh gpg dưới dạng dylan (nghĩa là không có sudo) và bạn sẽ không thấy lỗi. Bạn không cần phải root để truy cập các khóa GPG do người dùng của bạn sở hữu.

Ngược lại, bạn có thể truy cập các khóa GPG của người dùng khác, dưới dạng gốc, bằng cách chỉ định tùy chọn --homedir. Bạn sẽ vẫn thấy lỗi trong trường hợp này, trừ khi bạn đang truy cập vào các khóa GPG của root.