shell给授权文件添加私钥并修改访问修改时间

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/devilcry13/article/details/85606095

添加私钥

L_AUTH_FL='/home/user1/.ssh/authorized_keys'
L_KEY_FL='/home/user1/temp/rsa_key'

#获取原始文件访问时间
ATM0=`stat ${L_AUTH_FL} | grep "Access" | tail -1 |awk -F" " '{print $2$3}'|cut -d'.' -f1`
ATM1=`echo ${ATM0//-/}`
ATM2=`echo ${ATM1/:/}`
ATM=`echo ${ATM2/:/.}`

#获取原始文件更新时间
MTM0=`stat ${L_AUTH_FL} | grep "Modify" | tail -1 |awk -F" " '{print $2$3}'|cut -d'.' -f1`
MTM1=`echo ${MTM0//-/}`
MTM2=`echo ${MTM1/:/}`
MTM=`echo ${MTM2/:/.}`

#判断授权文件中是否包含私钥,如不包含则添加
grep -f ${L_KEY_FL} -q ${L_AUTH_FL}
[ $? -ne 0 ] && cat ${L_KEY_FL} >>${L_AUTH_FL}

#修改私钥文件访问时间及修改时间
touch -a -t ${ATM} ${L_AUTH_FL}
touch -m -t ${MTM} ${L_AUTH_FL}

移除私钥

L_AUTH_FL='/home/user1/.ssh/authorized_keys'
L_KEY_FL='/home/user1/temp/rsa_key'
L_TMP_FL='/home/user1/tempFile'

#获取原始文件访问时间
ATM0=`stat ${L_AUTH_FL} | grep "Access" | tail -1 |awk -F" " '{print $2$3}'|cut -d'.' -f1`
ATM1=`echo ${ATM0//-/}`
ATM2=`echo ${ATM1/:/}`
ATM=`echo ${ATM2/:/.}`

#获取原始文件更新时间
MTM0=`stat ${L_AUTH_FL} | grep "Modify" | tail -1 |awk -F" " '{print $2$3}'|cut -d'.' -f1`
MTM1=`echo ${MTM0//-/}`
MTM2=`echo ${MTM1/:/}`
MTM=`echo ${MTM2/:/.}`

#生成移除私钥后的新文件,并覆盖老文件,删除临时文件
grep -Fv -f ${L_KEY_FL} ${L_AUTH_FL}>${L_TMP_FL}
cp ${L_TMP_FL} ${L_AUTH_FL}
/bin/rm -rf ${L_TMP_FL}

#修改私钥文件访问时间及修改时间
touch -a -t ${ATM} ${L_AUTH_FL}
touch -m -t ${MTM} ${L_AUTH_FL}

猜你喜欢

转载自blog.csdn.net/devilcry13/article/details/85606095
今日推荐