我需要访问需要用户名和密码的服务,我不希望将其存储在代码中。代码在带有kerberos的linux服务器上运行。
任何人都可以指出允许我使用linux中的python或bash shell在linux上存储密码的示例吗?
目前我在文件中使用明文密码,只有当前用户的权限。
我被指向使用powershell的指南:
##The following command create a txt file containing a encrypted version of
#the password string (in this example "P@ssword1"). This is something you do once while
#logged on as the account that will eventually decrypt the password
#######################################################################################
"P@ssword1" | ConvertTo-SecureString -AsPlainText -Force | ConvertFrom-SecureString | Out-File "C:\Temp\Password.txt"
#######################################################################################
#In your script that are using the encrypted password, you can do the following:
#######################################################################################
# 1) Read the encrypted password from the txt file and convert it to a SecureString object
$pass = Get-Content "C:\Temp\Password.txt" | ConvertTo-SecureString
# 2) Convert the SecureString object to a plain text variable that can be used in the script
#The decrypted password is now available in the $UnsecurePassword variable.
$BSTR = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($pass)
$UnsecurePassword = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR)
cls
Write-Host $UnsecurePassword
答案 0 :(得分:0)
为了存储配置值,我建议使用configparser,它允许您在配置文件中存储任何类型的配置和参数。
存储用户名和密码当然非常敏感。一种方法是使用仅为您所知的主密钥加密数据,而不是在任何地方进行硬编码。相反,每次运行或启动脚本时,您都可以提示输入该主密钥,然后解密存储在配置文件中的加密密码。解释了这种方法here。