Можно вызвать fsck
во время начальной загрузки путем передачи fsck.mode=force
(auto
значение по умолчанию и skip
может использоваться для пропуска проверки вообще) как параметр командной строки ядра (с systemd
v. 213, существует также второй параметр: fsck.repair
- управлять как fsck
буду иметь дело с грязными файловыми системами при начальной загрузке; возможные значения: preen
зафиксировать, что может быть безопасно зафиксировано, yes
ответить на да на все вопросы и no
значение по умолчанию).
Отметьте это systemd-fsck
не знает деталей об определенных файловых системах и просто выполняет средства проверки файловой системы, характерные для каждого типа файловой системы (/sbin/fsck.*
).
Теперь, если Ваша файловая система xfs
или btrfs
это выполнится /sbin/fsck.xfs
или /sbin/fsck.btrfs
соответственно. Если это, кажется, не работает, возможно, необходимо проверить страницу руководства на fsck.xfs
или fsck.btrfs
соответственно и исследуйте содержание упомянутых файлов в /sbin
.
Если Вы имеете openssl
установленный можно работать:
openssl x509 -noout -subject -in server.pem
certtool -i < whatever.pem | egrep "^\s+Subject:"
Заметьте, что это направляет файл к стандартному входу через <
, не использование его как аргумент. Без egrep
это распечатает целый сертификат, но CN находится в Subject:
поле около вершины (остерегаются, существует также значение CN в Issuer:
поле).
X.509 Certificate Information:
Version: 3
Serial Number (hex): 01
Issuer: [...] CN=unixandlinux.ex <- Not this one.
Validity: ...
Subject: CN=goldilocks
certtool
часть gnutls, если это не установлено просто поиск этого. GnuTLS немного более хорош, чем OpenSSL, IMO.
gnutls-certtool
который был установлен через brew install gnutls
– Mike D
16.01.2018, 18:57
Я нашел приведенный выше ответ и нашел его очень полезным, но я также обнаружил, что синтаксис команды certtool
(в Ubuntu Linux, сегодня) заметно отличался от описанного Goldilocks, как и результат. Итак, я подумал, что лучше дополнить этот отличный ответ тем, что может быть «сегодняшней версией».
«i»
опция (сейчас?) означает «импорт», согласно man certtool
, поэтому правильная команда выглядит как «d»
, «display». Итак, эта команда:
certtool d myfoo.crt
(Расширение файла в моем случае просто .crt
, а не .pem
... это не имеет значения.)
. .. выводит результат, который, в соответствующей части, выглядит следующим образом:
Common Name : Foobar
Бесспорно, златовласка была права: certtool
вывод намного легче работать, чем openssl
в этом случае.
Я использовал :openssl x509 -noout -subject -in mycert.crt | awk -F= '{print $NF}'
добавить | sed -e 's/^[ \t]*//'
Если вы не можете жить с пустым пространством
openssl x509 -noout -subject -in server.pem | sed -n '/^subject/s/^.*CN=//p'
– Matthew Buckett 04.12.2014, 14:09sed -e 's/^subject.*CN=\([a-zA-Z0-9\.\-]*\).*$/\1/'
для получения просто домена как, у, у меня были дополнительные детали после CN. Не супер строгое соответствие для допустимого CN, но в большинстве случаев это работает, Вы могли быть более слабыми и заменить[a-zA-Z0-9\.\-]
с[^/]
но я не уверен, что это всегда работало бы. – flungo 04.06.2015, 19:11\*
к тому, какой @flungo раньше поддерживал подстановочные домены:sed -e 's/^subject.*CN=\([a-zA-Z0-9\.\-\*]*\).*$/\1/'
([^/]
работы в моем случае, хотя) – bryn 13.09.2015, 02:18sed
команды, предложенные выше, не будут работать, если сертификат будет иметь Относительные Отличительные имена (RDNs), указанный после Общего названия (CN), например, OU (OrganizationalUnit) или (страны) C. Одним способом обслужить такие случаи было бы дополнительноеsed
:openssl x509 -noout -subject -in server.pem | sed 's/^.*CN=//' | sed sed 's/\/.*$//'
. – Ohad Schneider 12.01.2017, 17:45openssl x509 -noout -subject -nameopt multiline | grep commonName
или для значения только| sed -n 's/ *commonName *= //p'
– dave_thompson_085 22.03.2017, 19:03