主目錄中的 .gnupg 目錄是什麼?
我在 Linux Mint 17.2 Cinnamon 的主目錄中發現了一個名為 .gnupg 的奇怪目錄(儘管我很確定它在所有 Linux 發行版上都有)。它沒有授予除 root 以外的任何人的訪問權限。所以我有三個問題:
- 這個目錄是什麼?它包含什麼?
- 為什麼它放在使用者的主目錄中卻沒有給他們任何訪問權限?
- 僅以root身份進入目錄會造成任何傷害嗎?
大多數點文件的名稱類似於使用它的應用程序。不出所料,
.gnupg
被GnuPG使用。GnuPG(也稱為 GPG)是一個對文件進行加密和簽名的程序。一旦您第一次呼叫它,它將.gnupg
在您的主目錄中創建一個目錄並在其中創建一些文件。該目錄包含大量私人資訊(例如您的聯繫人是誰),因此只有所有者才能訪問。例如,如果有人向您發送簽名的電子郵件,則可能會發生這種情況;如果您的電子郵件客戶端支持 PGP 電子郵件,那麼它將嘗試驗證簽名(並且失敗,因為您的 GPG 密鑰環中沒有發件人的公鑰)。這裡真正的問題是為什麼你的主目錄中的這個目錄是由 root 擁有的。答案是您以 root 身份執行 GPG,但
HOME
設置為您自己的主目錄。或者,更準確地說,您執行了一個在後台執行 GPG 的程序。APT 就是一個這樣的程序:包管理工具(apt-get
、apt
、aptitude
等)使用 GPG 來驗證您下載的包是否為正版。如果您執行類似sudo apt-get install SOMEPACKAGE
,這將.gnupg
在您的主目錄中創建一個目錄,因為sudo
預設情況下不會更改主目錄。解決方法是刪除
.gnupg
目錄,然後在您的使用者下創建它。您可以只刪除根擁有的目錄 (sudo rm -r ~/.gnupg
):您的主目錄下的任何文件對您來說都是公平的遊戲。您也可以將其移至根目錄 (sudo mv ~/.gnupg /root
),但無論如何它不包含任何重要內容。然後執行 GPG 命令,例如gpg --list-keys
;~/.gnupg
這將使用空的密鑰環文件填充您的目錄。只是進入一個目錄總是無害的。列出文件並查看其內容通常是無害的,但在某些配置中可能是有害的,因為終端會解析應用程序列印的轉義序列。在 Linux 下,plain
ls
orls -l
是好的,但ls -N
有潛在的風險。平原cat filename
是有風險的,但less filename
很好(雖然less +R filename
是有風險的)。在.gnupg
目錄中,沒有任何有害的東西。