Linux 使用到期日期筛选器查找任何centos目录中的所有证书文件
请,我需要在centos框的任何目录中查找所有证书文件 我用“exec”命令和grep“notafter”尝试了“find”。这仅显示证书的到期日期,但我还需要查找实际文件: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“%
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运行它,但无法让它工作