base64加密常用命令
日常線上運維操作時一些敏感命令涉及到刪除本地文件,或者mysql創建用戶明文密碼等問題則需要用到base64進行加密處理。
連接mysql客戶端添加新用戶用戶(變量前添加5個隨機字符)
將以下建新用戶授權sql進行base64加密:
create user 'abc'@'127.0.0.1' identified by 'a123456789';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE ROUTINE, ALTER ROUTINE ON *.* TO 'abc'@'127.0.0.1' with grant option;
flush privileges;
加密后對應base64為
Y3JlYXRlIHVzZXIgJ3Jvb3QnQCcxMjcuMC4wLjEnIGlkZW50aWZpZWQgYnkgJ2ExMjM0NTY3ODknOwpHUkFOVCBTRUxFQ1QsIElOU0VSVCwgVVBEQVRFLCBERUxFVEUsIENSRUFURSwgRFJPUCwgUkVMT0FELCBTSFVURE9XTiwgUFJPQ0VTUywgRklMRSwgUkVGRVJFTkNFUywgSU5ERVgsIEFMVEVSLCBTVVBFUiwgQ1JFQVRFIFRFTVBPUkFSWSBUQUJMRVMsIExPQ0sgVEFCTEVTLCBFWEVDVVRFLCBSRVBMSUNBVElPTiBTTEFWRSwgUkVQTElDQVRJT04gQ0xJRU5ULCBDUkVBVEUgUk9VVElORSwgQUxURVIgUk9VVElORSBPTiAqLiogVE8gJ3Jvb3QnQCcxMjcuMC4wLjEnIHdpdGggZ3JhbnQgb3B0aW9uOwpmbHVzaCBwcml2aWxlZ2VzOw==
添加base64加解密的alias別名,執行別名ld_sql "base64字符串"
alias ld_sql='fun(){ mysql -uroot -S /data/mysqldata3306/sock/mysql.sock -p -C -e "`base64 -d <<< ${1:5}`" ; }; fun'
alias ld_sql='fun(){ mysql --login-path=test -C -e "`base64 -d <<< ${1:5}`" ; }; fun'
ld_sql "hYmFzY3JlYXRlIHVzZXIgJ3Jvb3QnQCcxMjcuMC4wLjEnIGlkZW50aWZpZWQgYnkgJ2ExMjM0NTY3ODknOwpHUkFOVCBTRUxFQ1QsIElOU0VSVCwgVVBEQVRFLCBERUxFVEUsIENSRUFURSwgRFJPUCwgUkVMT0FELCBTSFVURE9XTiwgUFJPQ0VTUywgRklMRSwgUkVGRVJFTkNFUywgSU5ERVgsIEFMVEVSLCBTVVBFUiwgQ1JFQVRFIFRFTVBPUkFSWSBUQUJMRVMsIExPQ0sgVEFCTEVTLCBFWEVDVVRFLCBSRVBMSUNBVElPTiBTTEFWRSwgUkVQTElDQVRJT04gQ0xJRU5ULCBDUkVBVEUgUk9VVElORSwgQUxURVIgUk9VVElORSBPTiAqLiogVE8gJ3Jvb3QnQCcxMjcuMC4wLjEnIHdpdGggZ3JhbnQgb3B0aW9uOwpmbHVzaCBwcml2aWxlZ2VzOw=="
刪除cm0gLXJmCg== 解密后等價於 rm -rf
alias file.x='fun(){ $(`base64 -d <<< cm0gLXJmCg==` $@); }; fun'
file.x filename
其他包含明文密碼的操作命令以此同理使用。
