- 论坛徽章:
- 0
|
本帖最后由 可可火山 于 2012-02-02 22:18 编辑
现在用现在的find命令来查,性能一般,应该还有提升的余地。大家有什么建议么? )- # -mount to stay at same file system
- # limit file size to save time.
- # ./scan_private_key_check_line1.ksh to check first line of file to see if it's ssh private key
- find $fs -mount -type f \( -size +600c -a -size -2000c \) -exec ./scan_private_key_check_line1.ksh {} \; >> $SSH_PRIVATEKEYS_LIST 2>/dev/null
复制代码 ======- #!/usr/bin/ksh
- #file:scan_private_key_check_line1.ksh read the first line and check if it's "-----BEGIN RSA PRIVATE KEY-----" or "-----BEGIN DSA PRIVATE KEY-----"
- #argument1: file to check
- #return value:
- # if private key, print file path
- # if not private key, do nothing
- #key test case
- #[user@.ssh (0)]$head -3 id_dsa
- #-----BEGIN DSA PRIVATE KEY-----
- #MIIBuwIBAAKBgQCa7BSUdW1KijzV9IBmB+DZU/mbOcFBh03hbAcQGjX0iO/UNnyU
- #oyZ2FtwcJo1I4cADioe2LvQStaFwMsW8XQNCmtGXD8s3Ln1lZ4IOmEVkndNUhvaD
- #[user@.ssh (0)]$head -3 id_rsa
- #-----BEGIN RSA PRIVATE KEY-----
- #MIICWgIBAAKBgQC+Cz2gQQgTjiULl4ejCIqEBoSnC+NgSRVkAq7C7S4C7n8W3Y3G
- #bkACYSE/BjtozdmxTYC3u7bZbvyCb/bimf4h0g2Z3KZKl6PDtXskZQQG51FXkudv
- #[user@.ssh (0)]$head -3 id_dsa.withpasswd
- #-----BEGIN DSA PRIVATE KEY-----
- #Proc-Type: 4,ENCRYPTED
- #DEK-Info: DES-EDE3-CBC,FDAF61DB03FBED31
- if [ $# -gt 0 -a -r $1 ];then
- FILE_PATH=$1
- LINE1=$( head -1 $FILE_PATH )
- if [ $? == 0 ] && [ "$LINE1" == "-----BEGIN RSA PRIVATE KEY-----" -o "$LINE1" == "-----BEGIN DSA PRIVATE KEY-----" ];then
- echo $FILE_PATH
- fi
- fi
复制代码 |
|