Вы можете использовать подстановку bash для сопоставления нескольких папок. Что-то вроде:
rm ./Folder/*/Log/*
Или, может быть, даже лучше:
rm ./Folder/Sub*/Log/*
Второй удалит все файлы внутри каталога Log
внутри каталога, который начинается с Sub
. При необходимости вы можете добавить -r
(рекурсивный) или -f
(принудительно) в свою команду rm
.
Чтобы узнать больше о подстановке bash, вы можете увидеть другой из моих ответов: Можно ли указать путь, в котором имя каталога является переменным?
Хотя это напрямую отвечает на ваш вопрос, вы можете рассмотреть использование logrotate
для управления старыми файлами журнала: http://www.linuxcommand.org/man_pages/logrotate8.html
Файлы, на которые указывает [ CA_defaults ]
, используются внутри команды openssl ca
.
Если вы заглянете внутрь new_certs_dir
, вы увидите все сертификаты, подписанные CA при использовании команды openssl ca
, с именами файлов, состоящими из серийного номера сертификата с добавлением .pem
.
Поскольку вы используете openssl req
, эти файлы не используются.
На справочной странице команды req
сказано следующее:
-out filename
This specifies the output filename to write to or standard output by default.
Таким образом, он будет писать в файл с заданным именем, расположенный в каталоге, из которого вы запускаете команду; или он будет писать на стандартный вывод.
-keyout filename
This gives the filename to write the newly created private key to. If this option is not specified then the filename present in the configuration file is used.
Это запишет в указанное имя файла, опять же расположенного в каталоге, из которого вы запускаете команду; или он будет писать в имя файла, указанное в опции default_keyfile
(под [ req ]
, конечно ).
В обоих случаях вы можете указать абсолютный путь к файлам в своих командах, если вы не хотите, чтобы они помещались в текущий каталог.
Структура, которую вы настроили в файле .conf
, будет работать, когда вы используете команду openssl ca
для подписи запроса от подчиненного (ЦС или конечного -объекта ). Однако, чтобы перейти к этапу, когда вы можете подписывать сертификаты, ему нужны сертификат ЦС и ключ. Ваша команда openssl req
генерирует их. Чтобы получить разумные значения в сертификате ЦС, вам нужно добавить больше в файл .conf
.
Что-то похожее на следующее должно помочь вам начать:
[ req ]
# Don't prompt for the DN, use configured values instead
# This saves having to type in your DN each time.
prompt = no
string_mask = default
distinguished_name = req_dn
# The size of the keys in bits:
default_bits = 4096
[ req_dn ]
countryName = GB
stateOrProvinceName = Somewhere
organizationName = Example
organizationalUnitName = PKI
commonName = Example Test Root CA
[ ca_ext ]
# Extensions added to the request
basicConstraints = critical, CA:TRUE
keyUsage = critical, keyCertSign, cRLSign
Создайте сертификат CA с немного измененной версией предыдущей команды:
openssl req -x509 -newkey rsa:4096 -keyout /home/will/myCA/private/cakey.pem -out /home/will/myCA/cacert.pem -days 3650 -nodes -config <path-to>/openssl.cnf -extensions ca_ext
Примечание. :опция -config
нужна только в том случае, если вы не используете/редактируете файл конфигурации по умолчанию.
Если все работает, у вас будут правильные сертификат и ключ для вашей конфигурации ЦС, указанной выше. Прежде чем вы сможете подписывать какие-либо сертификаты с помощью команды openssl ca
, вам нужно убедиться, что index.txt
существует, и создать serial
с начальным серийным номером (, например01
).
OpenSSL — это швейцарский -армейский нож криптографии, поэтому у него много возможностей. К сожалению, чтение справочных страниц — единственный способ понять это.