Bug 1143949

Summary: virt-customize option '--password-crypto' do not work
Product: Red Hat Enterprise Linux 7 Reporter: Lingfei Kong <lkong>
Component: libguestfsAssignee: Richard W.M. Jones <rjones>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: low Docs Contact:
Priority: medium    
Version: 7.1CC: leiwang, mbooth, ptoscano, tlavigne, wshi
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libguestfs-1.27.49-1.1.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-05 13:45:18 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Lingfei Kong 2014-09-18 10:07:31 UTC
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:

Comment 1 Richard W.M. Jones 2014-09-18 12:49:13 UTC
*** Bug 1143942 has been marked as a duplicate of this bug. ***

Comment 2 Richard W.M. Jones 2014-09-18 12:57:35 UTC
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).

Comment 4 Lingfei Kong 2014-11-11 08:44:01 UTC
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)

Comment 6 errata-xmlrpc 2015-03-05 13:45:18 UTC
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