Linux 使用到期日期筛选器查找任何centos目录中的所有证书文件

Linux 使用到期日期筛选器查找任何centos目录中的所有证书文件,linux,shell,awk,grep,certificate,Linux,Shell,Awk,Grep,Certificate,请,我需要在centos框的任何目录中查找所有证书文件 我用“exec”命令和grep“notafter”尝试了“find”。这仅显示证书的到期日期,但我还需要查找实际文件: find /etc/ -type f -exec openssl x509 -in {} -noout -text \; | grep -i "not after" 什么命令可以列出证书文件及其过期日期的内容?您可以使用此find+awk: 当IFS=read-rd''证书时;做 printf“%

请,我需要在centos框的任何目录中查找所有证书文件

我用“exec”命令和grep“notafter”尝试了“find”。这仅显示证书的到期日期,但我还需要查找实际文件:

find /etc/  -type f -exec openssl x509 -in {} -noout -text \; |
grep -i  "not after"

什么命令可以列出证书文件及其过期日期的内容?

您可以使用此
find+awk

当IFS=read-rd''证书时;做
printf“%s::”$cert
openssl x509-在“$cert”-noout-文本中|
awk-F'*不在以下位置之后:'NF==2{print$2;exit}'

完成<您可以使用此
find+awk

当IFS=read-rd''证书时;做
printf“%s::”$cert
openssl x509-在“$cert”-noout-文本中|
awk-F'*不在以下位置之后:'NF==2{print$2;exit}'

完成<带有辅助脚本的版本:

cat/root/expiration.sh

#!/bin/bash
name=$1
expiry=$(openssl x509 -in $name -noout -text 2>/dev/null | grep -i "not after")
if [[  $PIPESTATUS -eq 0 ]]; then
    echo -e "${name}\t${expiry}"
fi
这样执行:

find /etc/  -type f -exec /root/expiry.sh "{}" \;
/etc/ssl/certs/ssl-cert-snakeoil.pem                Not After : Mar 30 22:59:59 2027 GMT
/etc/ssl/certs/ca-certificates.crt              Not After : Dec 31 09:37:37 2030 GMT

包含辅助脚本的版本:

cat/root/expiration.sh

#!/bin/bash
name=$1
expiry=$(openssl x509 -in $name -noout -text 2>/dev/null | grep -i "not after")
if [[  $PIPESTATUS -eq 0 ]]; then
    echo -e "${name}\t${expiry}"
fi
这样执行:

find /etc/  -type f -exec /root/expiry.sh "{}" \;
/etc/ssl/certs/ssl-cert-snakeoil.pem                Not After : Mar 30 22:59:59 2027 GMT
/etc/ssl/certs/ca-certificates.crt              Not After : Dec 31 09:37:37 2030 GMT

我很高兴你喜欢这种方法。:)这很有效。谢谢你的帮助,丁克。我真的很抱歉,回来晚了一点。我很高兴你喜欢这种方法这很有效。谢谢你的帮助,丁克。我真的很抱歉,回来晚了一点。谢谢你的帮助。我真的很抱歉,回来晚了一点,但我无法运行脚本。我以脚本的形式直接从shell运行它,但无法让它工作。谢谢你的帮助。我真的很抱歉,回来晚了一点,但我无法运行脚本。我以脚本的形式直接从shell运行它,但无法让它工作