Description of problem: virt-customize option '--password-crypto' md5|sha256|sha512 do not work, if you set password encryption to a new value md5, then create a new user and set its password, the new password will stil use the old password encryption, such as sha512. Version-Release number of selected component (if applicable): libguestfs-1.27.48-1.1.el7 How reproducible: 100% Steps to Reproduce: 1. Create a raw format guest image: rhel6.6.img, by default this guest use 'sha512' as its password encryption 2. #virt-customize --password-crypto sha256 -a rhel6.6.img [ 0.0] Examining the guest ... [ 6.0] Setting a random seed [ 6.0] Finishing off 3. Login the guest, create a new user and check file /etc/shadow and /etc/sysconfig/authconfig # useradd test # passwd test #cat /etc/shadow/ | grep test test:$6$yg/Rmp2s$nldShmCkNxZNyaubkqMEyLAWnhwEXczkzVK5SaQb3qktvxHIXQ5kgoFjVNkQRZHyIW.Mb742x7SkxL8NdWgrW/:16331:0:99999:7::: #cat /etc/sysconfig/authconfig | grep PASSWDALGORITHM PASSWDALGORITHM=sha512 Actual results: The hashing algorithm in /etc/shadow is still sha512, i.e. the first two characters in the password field is $1 (md5 - 1, sha512 - 6, sha256 - 5) The value of PASSWDALGORITHM is still sha512 in /etc/sysconfig/authconfig Expected results: The hashing algorithm in /etc/shadow should be md5, i.e. the first two characters in the password field should be $1 The value of PASSWDALGORITHM should be md5 in /etc/sysconfig/authconfig Additional info:
*** Bug 1143942 has been marked as a duplicate of this bug. ***
This is a misunderstanding of what the --password-crypto option actually does. It only changes the password crypto used by virt-customize, it doesn't change the crypto of the guest itself. I have updated the documentation to make this clearer: https://github.com/libguestfs/libguestfs/commit/e5dd3b08de331b14aee4f86eef373e3c900d8b61 --password-crypto md5|sha256|sha512 When the virt tools change or set a password in the guest, this option sets the password encryption of that password to "md5", "sha256" or "sha512". [...] Note this does not change the default password encryption used by the guest when you create new user accounts inside the guest. If you want to do that, then you should use the --edit option to modify "/etc/sysconfig/authconfig" (Fedora, RHEL) or "/etc/pam.d/common-password" (Debian, Ubuntu).
Verify with libguestfs-1.28.1-1.9.el7 Steps to verify: 1. Prepare a rhel guest image: rhel.img 2. Create a user account 'test' on that guest and check its password encryption: $6(sha512) 3. # virt-customize -a rhel.img --password test:password:testpassword20 --password-crypto md5 4. # qemu-kvm -m 1024M -smp 3 -drive file=$PWD/rhel.img -vnc :1 5. Access the guest via vncviewer and login account 'test' with password 'testpassword20' and check its password encryption Results: Can login account 'test' with the new password 'testpassword20', and the password encryption in /etc/shadow is $1(md5)
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2015-0303.html