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. Кто-нибудь знает причину и, что более важно, безопасное и надежное решение?

2 ответа

Решение

Нет никаких причин для того, чтобы этот файл не был доступен для чтения. Это не является чем-то уникальным для вашей системы и включено в установку по умолчанию: 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

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

Другие вопросы по тегам