During the development of a product I am working on, I want to create / add a user through anaconda with the password as specified by the user / installer.
Following the code in anaconda (users.py) the following is passed through to libuser to create the user:
#if not self.users.createUser(name='admin',
# groups=['users', 'wheel'],
# gecos='Admin User',
# log.error("Cannot create Admin User for CLI access.")
Based on my understanding this should:
This works: the user is created, but that is it. To actually get the password set, I have to run the users.setUserPassword() method which does set the password for the user correctly. No groups are created, no group membership is done, no home directory is set.
Reading /usr/share/doc/libuser-python-0.56.13/modules.txt, also indicates that creating the home directory is done my default:
- addUser: Add a new user to the system:
A libuser.Entity object with the
new user or group's information
A true/false object indicating
whether or not the home
directory for the user
should be created (optional,
Based on the above - what should I be calling the libuser addUser method with to ensure that:
The user account home directory gets created
The user account password get's set properly
* The user account gets added to the right groups
Rebuilt system with libuser-0.58-3.fc18.src.rpm - addUser now works as expected.
I suspect that there is a problem using the inbuilt CentOS libuser-0.56.13-5.el6.src.rpm version.
Thanks for your report. The "users.createUser" function is a part of anaconda, not libuser.
Do you have a specific reproducer that uses libuser calls?
Closed due to lack of response. Please reopen at pagure.io if this is still relevant.
to comment on this ticket.