2017-08-09 1 views
0

Je dois accéder à un service qui nécessite un nom d'utilisateur et un mot de passe, et je ne souhaite pas le stocker dans le code. Le code s'exécute sur un serveur Linux avec kerberos. Est-ce que quelqu'un peut pointer vers des exemples qui me permettent de stocker un mot de passe sur Linux avec python ou bash shell de Linux? À l'heure actuelle, j'utilise un mot de passe en texte clair dans un fichier avec des autorisations pour l'utilisateur actuel seulement.Stocker les informations d'identification dans Linux

J'ai été mis en évidence un guide à l'aide powershell:

#
#The following command create a txt file containing a encrypted version of 
#the password string (in this example "[email protected]"). This is something you do once while 
#logged on as the account that will eventually decrypt the password 
####################################################################################### 
"[email protected]" | 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

Il n'y a pas grand intérêt à mettre un mot de passe crypté dans le fichier. Le script devra contenir la clé de décryptage, de sorte que toute personne capable de lire le script sera en mesure de déchiffrer le mot de passe dans le fichier. – Barmar

+0

@Barmar >> Il y a de la magie Windows impliquée dans le tour Powershell, c'est-à-dire si vous copiez le fichier crypté sur une autre machine ou y accédez depuis la session d'un autre utilisateur, vous ne pourrez pas utiliser la touche "automagic". OK, il existe plusieurs problèmes d'escalade de privilèges dans Windows, mais c'est une autre question ... –

+0

Possible copie de [Je dois stocker en toute sécurité un nom d'utilisateur et mot de passe en Python, quelles sont mes options?] (Https://stackoverflow.com/questions/7014953/i-need-to-secure-store-a-nom d'utilisateur-et-mot de passe-dans-python-what-are-my-options) –

Répondre

0

Pour stocker des valeurs de configuration que je vous recommande d'utiliser configparser qui vous permettra de stocker toutes sortes de configuration et des paramètres dans un fichier de configuration .

Le stockage des noms d'utilisateur et des mots de passe est, bien sûr, très sensible. Une façon serait de chiffrer les données avec une clé maîtresse qui vous est seulement connue et non codée en dur n'importe où. Au lieu de cela, chaque fois que vous exécutez ou lancez votre script, vous pouvez simplement demander cette clé principale, puis décrypter le mot de passe chiffré stocké dans le fichier de configuration. Cette approche est expliquée here.