Ubuntu 22.04 отсутствует openssl.cnf – создать новый по умолчанию?

Вопрос или проблема

мой openssl.cnf пропал. Возможно ли сгенерировать новый стандартный файл?

Когда система жалуется, что файл отсутствует, я бы попробовал
touch /path/to/file/openssl.cnf
Если это не сработает, переустановите и перезапишите пользовательские изменения.

Хотя в некоторых случаях конфигурационные файлы генерируются на лету сценариями установки пакетов, в этом случае стандартный файл предоставляется в составе содержимого пакета – как вы можете убедиться с помощью поиска dpkg:

$ dpkg -S /etc/ssl/openssl.cnf
openssl: /etc/ssl/openssl.cnf

Таким образом, вы можете получить копию, скачав deb-файл и извлекая его, например:

apt download openssl

(это загружается в локальный каталог – специальные привилегии не требуются) затем

dpkg-deb --fsys-tarfile openssl_3.0.2-0ubuntu1.18_amd64.deb | tar xf - ./etc/ssl/openssl.cnf

После этого вы можете скопировать файл на его законное место:

sudo cp ./etc/ssl/openssl.cnf /etc/ssl/

После этого вы можете удалить загруженный deb-файл и дерево fsys-tarfile.

Ответ или решение

Если файл openssl.cnf отсутствует в вашей системе Ubuntu 22.04, это может создать ряд проблем, особенно если вы широко используете OpenSSL для управления сертификатами и шифрованием. К счастью, существует несколько способов восстановить этот файл, и в этом ответе я подробно расскажу о каждом из них.

Восстановление openssl.cnf в Ubuntu 22.04

1. Проверка наличия файла

Первым делом стоит убедиться, что файл действительно отсутствует. Откройте терминал и выполните команду:

ls /etc/ssl/openssl.cnf

Если файл не найден, система вернёт сообщение об ошибке. Теперь перейдём к его восстановлению.

2. Создание нового файла openssl.cnf

Если у вас нет резервной копии файла, вы можете создать новый openssl.cnf. Это можно сделать, но рекомендуется получить стандартный файл конфигурации, который шёл вместе с первоначальной установкой OpenSSL.

3. Восстановление файла путём повторной установки

В большинстве случаев конфигурационные файлы устанавливаются вместе с пакетами. Если нужно восстановить openssl.cnf, лучшим решением будет переустановка пакета OpenSSL. Используйте следующие команды:

sudo apt-get update
sudo apt-get install --reinstall openssl

Этот процесс вернёт все файлы, включая openssl.cnf, к их первоначальным значениям. Учтите, что при переустановке сделанные вами изменения могут быть потеряны.

4. Извлечение системного файла из пакета .deb

Если переустановка не является предпочтительным решением в вашей ситуации, вы можете извлечь файл конфигурации из .deb пакета. Для этого выполните следующие шаги:

  1. Скачайте пакет OpenSSL:

    apt download openssl

    Это скачает файл в вашу локальную директорию без необходимости использования привилегий суперпользователя.

  2. Извлеките openssl.cnf:

    Используйте следующую команду, чтобы извлечь файл конфигурации:

    dpkg-deb --fsys-tarfile openssl_3.0.2-0ubuntu1.18_amd64.deb | tar xf - ./etc/ssl/openssl.cnf

    Обратите внимание, что имя файла .deb может варьироваться в зависимости от версии.

  3. Переместите файл на место:

    После извлечения вам необходимо скопировать файл в нужное место:

    sudo cp ./etc/ssl/openssl.cnf /etc/ssl/
  4. Удалите ненужные файлы:

    После успешного восстановления файла рекомендуется удалить скачанный .deb файл и временные файлы:

    rm openssl_3.0.2-0ubuntu1.18_amd64.deb
    rm -rf ./etc/ssl/

Заключение

В случае отсутствия openssl.cnf на Ubuntu 22.04, вы можете легко восстановить его, переустановив OpenSSL или извлекши файл конфигурации из пакета. Оба метода эффективны и помогут восстановить необходимые настройки для функциональности OpenSSL. Если у вас есть специфические настройки, не забудьте внести их снова в файл после восстановления.

Оцените материал
Добавить комментарий

Капча загружается...