“ การอนุญาตที่ไม่ปลอดภัยในไฟล์การกำหนดค่า `/home/david/.gnupg/gpg.conf” มันมีความหมายอย่างไรและจะแก้ไขอย่างไร?


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

มันหมายถึงอะไรและวิธีการแก้ไข?

คำตอบ:


13

gpg: คำเตือน: การอนุญาตที่ไม่ปลอดภัยในไฟล์การกำหนดค่า/home/david/.gnupg/gpg.conf' gpg: WARNING: unsafe enclosing directory permissions on configuration file/home/david/.gnupg/gpg.conf 'gpg: การเรียกใช้โปรแกรมภายนอกถูกปิดใช้งานเนื่องจากการอนุญาตไฟล์ตัวเลือกที่ไม่ปลอดภัย

ซึ่งหมายความว่าคุณ~/.gnupg/gpg.confมีสิทธิ์ที่ไม่คาดคิดสำหรับผู้ใช้ที่คุณใช้เช่นการเข้าถึง "ผู้อื่น" ผู้ใช้รายอื่นหรือบิตที่เรียกใช้งานได้ ไฟล์นี้ควรเพื่อเหตุผลด้านความปลอดภัยเท่านั้นที่สามารถอ่านและเขียนได้โดยผู้ใช้และไม่มีใคร :

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

คุณอาจมีผู้ใช้หรือสิทธิ์ที่แตกต่างกัน ลองใช้ls -l ~/.gnupg/gpg.confดู ในการแก้ไขปัญหานี้นั้นง่ายพอ:

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

หากคำสั่งบางคำสั่งล้มเหลวหรือคุณยังได้รับข้อความแสดงข้อผิดพลาดที่คุณกล่าวถึงหลังจากทำตามคำแนะนำเหล่านี้คุณควรลบ~/.gnupgไดเรกทอรีเนื่องจากไม่สามารถเชื่อถือได้อีกต่อไป

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

จากนั้นคุณสามารถลองเรียกใช้gpgคำสั่งกับผู้ใช้เดียวกันกับที่จะเรียกใช้สคริปต์วิธีนี้ทำให้ผู้ใช้ของคุณด้วยการสร้าง~/.gnupgไดเรกทอรีที่มีสิทธิ์ที่เหมาะสม


1
บน Cygwin ใช้งานได้เท่านั้น:chmod 700 .gnupg
CMCDragonkai

12

คุณอาจย้าย.gnupgโฟลเดอร์ของคุณจากเครื่องอื่นหรือแก้ไขวิธีอื่นด้วยการอนุญาตไฟล์

GnuPG บังคับใช้ความเป็นเจ้าของส่วนตัวของโฟลเดอร์และไฟล์บางไฟล์เพื่อความปลอดภัย

สองบรรทัดนี้แก้ไขสิทธิ์ อันแรกรับรองว่า~/.gnupgโฟลเดอร์ (และทุกอย่างในนั้น) เป็นของคุณจริง ๆ เจ้าของอาจจะแซงก็ต้องใช้สิทธิ์ root sudoจึง บรรทัดที่สองทำให้แน่ใจได้ว่าไม่มีใคร แต่คุณสามารถอ่านเนื้อหาของมัน (ลบอ่าน, เขียนและดำเนินการอนุญาตสำหรับกลุ่มและผู้ใช้อื่น ๆ ) ชื่อผู้ใช้ของคุณจะถูกแทรกโดยอัตโนมัติเพื่อให้คุณสามารถคัดลอกบรรทัดไปยังเทอร์มินัลของคุณโดยตรง:

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

และนั่นคือคำตอบที่สั้นที่สุด
Michał Leon

3

ฉันเพิ่งประสบปัญหาเดียวกัน มันกลับกลายเป็นฉันถูกเรียกใช้คำสั่งโดยใช้gpg sudoเมื่อฉันลองอีกครั้งโดยไม่sudoได้ทำงานได้ดีและไม่มีข้อผิดพลาดปรากฏขึ้น ดังนั้นอาจเป็นกรณีของคุณเช่นกัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.