
при использовании 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, так как пакеты сертификатов не являются конфиденциальными файлами.