linux运维需求-增加密码保密性

需求背景:满足用户对明文密码加密的需求、

在这里插入图片描述

准备工作:

os:linux
file in linux:grafana.ini file

众所周知:

In Linux and UNIX, everything is a file

在grafana.ini文件中,保存着用户的登录信息,其中包含重要信息,密码等。
如果不想要密码让人知道,就得进行一次加密改写。
比如,
某六位数密码是:123456
经过base64编码后的密码是:MTIzNDU2
上述操作linux commad为:

[root@ali2-yy ~]# test=$(printf "%s""123456" | base64)
[root@ali2-yy ~]# echo $test

密码有了,就可以手动在配置文件中把123456密码替换成MTIzNDU2
这样即便是打开了grafana.ini文件,看到密码显示MTIzNDU2,一时半会儿也不知道这代表什么意思了。将明文密码通过base64的编码规则保护重要信息的作用。
在这里插入图片描述
但是在grafana.ini配置文件启动中,并不识别base64的规则,怎么办?
很简单,在启动grafana.ini之前,我们需要对grafana.ini配置文件密码进行替换,这一步为decode.
请注意,decode步骤运行的前提,是grafana.ini文件中密码配置部分,已经修改成base64的样子了。
如下:
在这里插入图片描述
确定了自己要操作的文件对象(grafana.ini)后,编写decode脚本。

#!/bin/bash
#Get the password for the ini file
email_password=$(grep '^password = *' /etc/grafana/grafana.ini)
array=(`echo $email_password | tr '=' ' '`)
email_key=${array[0]}
email_value_bak=${array[1]}
decode=$(printf "%s" $email_value_bak| base64 -d)   

#decode
sed -i "s/$email_value_bak/$decode/g" /etc/grafana/grafana.ini
#Start up program
systemctl start grafana-server
#replace
sed -i "s/$decode/$email_value_bak/g" /etc/grafana/grafana.ini

其中这个脚本shell 逻辑上分成4步
在这里插入图片描述
1、从grafana.ini取出加密的密码和解码密码解码步骤。解码规则是base64
2、将解码后的密码替换掉grafana.ini文件中,方便下一步的执行
3、启动grafana服务。
4、启动服务完成后,将解密的密码部分再用base64的密码替换掉。恢复grafana.ini文件密码的初始版本。

上述脚本并不是完美的,如果实际情况发生变化,编写脚本的逻辑也会变化。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值