cloud-init-dev team mailing list archive
-
cloud-init-dev team
-
Mailing list archive
-
Message #00776
[Merge] lp:~alexandru-sirbu/cloud-init/hashed-password-change into lp:cloud-init
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):