
在詳細模式下使用時curl
,出現此錯誤:命令:
$ curl -vvI https://www.google.com
錯誤:
- 成功設定證書驗證位置:
- CAfile:無 CApath:/etc/ssl/certs
- TLSv1.3(OUT),TLS 握手,客戶端問候(1):
- TLSv1.3 (IN)、TLS 握手、伺服器問候 (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
答案1
您無法存取該/etc/ssl/certs
目錄中的文件,因為它缺少搜尋權限 ( x
)。您可以使用 修復該問題chmod
,例如:chmod a+x /etc/ssl/certs
答案2
如您所見,您無法訪問 ca-certificates.crt。 curl 指令嘗試使用您的使用者存取憑證捆綁包,但失敗。您可以使用 來修復此問題chmod
。在這種情況下可以使用 755,因為憑證包不是敏感檔案。