
詳細モードで使用するとcurl
、次のエラーが発生します: コマンド:
$ curl -vvI https://www.google.com
エラー:
- 証明書検証場所を正常に設定しました:
- CAファイル: なし CAパス: /etc/ssl/certs
- TLSv1.3 (OUT)、TLSハンドシェイク、クライアントhello (1):
- TLSv1.3 (IN)、TLSハンドシェイク、サーバー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
答え1
/etc/ssl/certs
検索権限 ( ) がないため、ディレクトリ内のファイルにアクセスできませんx
。 でこれを修正できますchmod
。例:chmod a+x /etc/ssl/certs
答え2
ご覧のとおり、ca-certificates.crt にアクセスできません。curl コマンドは、ユーザーで証明書バンドルにアクセスしようとしますが、失敗します。 を使用すると、これを修正できますchmod
。証明書バンドルは機密ファイルではないため、この場合は 755 を使用できます。