Назад | Перейти на главную страницу

Ubuntu 10.04.4 LTS - отказано в разрешении SSL-сертификата cURL

После долгих поисков я еще не нашел документации по этой проблеме. Внезапно, возможно, после обновления программного обеспечения (?), CURL не может установить SSL-соединения с этой ошибкой:

curl: (35) error:0200100D:system library:fopen:Permission denied

С помощью strace я обнаружил, что он пытается открыть сертификат SSL, в котором отказано:

open ("/ etc / ssl / certs / 3c58f906.0", O_RDONLY | O_LARGEFILE) = -1 EACCES (в разрешении отказано)

Этот сертификат является символической ссылкой, которая указывает на AddTrust_External_Root.pem, который, в свою очередь, является символической ссылкой на /usr/share/ca-certificates/mozilla/AddTrust_External_Root.crt. Разрешения таковы, что моему пользователю действительно не разрешен доступ к нему:

ls -l /usr/share/ca-certificates/mozilla/AddTrust_External_Root.crt 
-rw-r----- 1 root ssl-cert 1521 2011-09-01 18:48 /usr/share/ca-certificates/mozilla/AddTrust_External_Root.crt

Вероятно, есть причина, по которой этот файл не доступен для чтения всем, но он останавливает работу cURL. Кто-нибудь знает причину и, что более важно, безопасное и надежное решение?

Нет причин, по которым этот файл не доступен для чтения всем. Это не что-то уникальное для вашей системы и включено в установку по умолчанию: http://packages.ubuntu.com/lucid/all/ca-certificates/filelist

Обычно я думаю, что все, что находится в / usr / share /, может быть доступно для чтения всем (поскольку оно находится в разделе «share»).

Теперь вопрос, почему этот файл не доступен для чтения в вашей системе. Вероятно, ошибка.

Хм. На моей установке Lucid это доступно для чтения:

$ ls -l /usr/share/ca-certificates/mozilla/AddTrust_External_Root.crt
-rw-r--r-- 1 root root 1521 2011-09-01 16:48 /usr/share/ca-certificates/mozilla/AddTrust_External_Root.crt

Похоже, что с вашей установкой что-то не так, или предыдущий администратор изменил владельца / разрешения по непонятным причинам.