Debian
Curl SSL 證書:無法獲取本地頒發者證書
在詳細模式下使用時
curl
,我收到此錯誤:命令:$ curl -vvI https://www.google.com
錯誤:
- 成功設置證書驗證位置:
- CAfile:無 CApath:/etc/ssl/certs
- TLSv1.3(OUT)、TLS握手、客戶端問候(1):
- TLSv1.3 (IN)、TLS 握手、Server hello (2):
- TLSv1.3 (IN)、TLS 握手、加密擴展 (8):
- TLSv1.3 (IN)、TLS 握手、證書 (11):
- TLSv1.3 (OUT)、TLS 警報、未知 CA (560):
- SSL 證書問題:無法獲取本地頒發者證書
- 關閉連接 0
但是如果我用 發送相同的命令
sudo
,則連接設置成功,所以我猜這是權限問題。這是我通過
namei
命令得到的:$ namei -mo /etc/ssl/certs/ca-certificates.crt f: /etc/ssl/certs/ca-certificates.crt drwxr-xr-x root root / drwxr-xr-x root root etc drwxr-xr-x root root ssl drw-r--r-- root root certs ca-certificates.crt - Permission denied
所以我發出了這個命令:
$ sudo chmod 755 /etc/ssl/certs/ca-certificates.crt
那執行沒有錯誤,但
namei
命令的輸出是相同的。與 /etc/ssl/certs/certificate.crt 相同
最後,如果我發送這個命令:
$ sudo ls -l /etc/ssl/certs/ca-certificates.crt
我得到:
-rwxr-xr-x 1 root root 218664 lug 19 18:51 /etc/ssl/certs/ca-certificates.crt
您無法訪問目錄中的文件,
/etc/ssl/certs
因為它缺少搜尋權限 (x
)。您可以使用 來解決此問題chmod
,例如:chmod a+x /etc/ssl/certs
如您所見,您無法訪問 ca-certificates.crt。curl 命令嘗試使用您的使用者訪問證書包,但失敗。您可以使用
chmod
. 在這種情況下可以使用 755,因為證書包不是敏感文件。