Alex Sirbu has proposed merging 
lp:~alexandru-sirbu/cloud-init/hashed-password-change into lp:cloud-init.

Requested reviews:
  cloud init development team (cloud-init-dev)

For more details, see:
https://code.launchpad.net/~alexandru-sirbu/cloud-init/hashed-password-change/+merge/287755

There was no way to change the password of an already existing user, by 
providing the new hashed password as an input.

The function def set_passwd(self, user, passwd, hashed=False): from the 
distros/__init__.py file already has the possibility of changing the password 
by giving it a hashed string, but this functionality wasn't used anywhere. By 
adding a new argument, hashed_passwd, to be used in the create_user function in 
a similar way to the plain_text_passwd, and by using the before mentioned 
function with the hashed paremeter set to True, the goal of changing the 
password with a hashed string is met. 
-- 
Your team cloud init development team is requested to review the proposed merge 
of lp:~alexandru-sirbu/cloud-init/hashed-password-change into lp:cloud-init.
=== modified file 'cloudinit/distros/__init__.py'
--- cloudinit/distros/__init__.py	2016-03-01 17:30:31 +0000
+++ cloudinit/distros/__init__.py	2016-03-02 09:25:42 +0000
@@ -393,6 +393,10 @@
         if 'plain_text_passwd' in kwargs and kwargs['plain_text_passwd']:
             self.set_passwd(name, kwargs['plain_text_passwd'])
 
+        # Set password if hashed password is provided and non-empty
+        if 'hashed_passwd' in kwargs and kwargs['hashed_passwd']:
+            self.set_passwd(name, kwargs['hashed_passwd'], True)
+
         # Default locking down the account.  'lock_passwd' defaults to True.
         # lock account unless lock_password is False.
         if kwargs.get('lock_passwd', True):

_______________________________________________
Mailing list: https://launchpad.net/~cloud-init-dev
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp

Reply via email to