标签:命令 com inux 脚本调用 服务 roo mysq height panic
我们在编写SHELL脚本时,有时候需要填写密码到脚本里,比如mysql备份脚本,这时我们就需要一个脚本加密解密的方法了,我使用GO语音执行Linux命令加密解密。脚本调用go脚本。
[root@izbp14ot0ykf8wyktz0kwgz ~]# echo "我是密码" | base64
[root@izbp14ot0ykf8wyktz0kwgz ~]# echo "5oiR5piv5a+G56CBCg==" | base64 -d
[root@izbp14ot0ykf8wyktz0kwgz ~]# echo "我是密码" | openssl aes-128-cbc -k 123456 -base64 #123456是密钥
[root@izbp14ot0ykf8wyktz0kwgz ~]# echo "U2FsdGVkX19tE1MwP3umI3tAkljZT+3nMXtsAL+/Qb4=" | openssl aes-128-cbc -d -k 123456 -base64 #123456是密钥
package main import ( "fmt" "os" "os/exec" ) var s = "Solution" var shell = `echo U2FsdGVkX1+RnCGFeTk3AMnaXvJ1Y8ItEEMwGB8H1Qw= | openssl aes-128-cbc -d -k qwe -base64` func main() { if len(os.Args) > 1 { s = os.Args[1] } cmd := exec.Command("/bin/bash", "-c", shell) // 执行命令,并返回结果 output, err := cmd.Output() if err != nil { panic(err) } // 因为结果是字节数组,需要转换成string fmt.Printf(string(output)) }
1.设置环境 set GOARCH=amd64 set GOOS=linux 2.打包 go build ShellPS.go
3.上传到linux服务器,并赋予可执行权限
chmod 755 ShellPS
4.脚本调用
#!/bin/bash Spasswd=`/root/ShellPS` echo "密码: $Spasswd"
标签:命令 com inux 脚本调用 服务 roo mysq height panic
原文地址:https://www.cnblogs.com/hushaojie/p/13189613.html