Red Hat Bugzilla – Bug 358901
anaconda traceback when creating a user with kickstart's "user" command
Last modified: 2007-11-30 17:12:20 EST
My kickstart has the following line:
user --name=someuser --password=$1$BLAHBLAHPASSWORDHASH --iscrypted
which yields the following error/traceback from anaconda:
RuntimeError: couldn't determine security context for
`/mnt/sysimage/home/someuser': No such file or directory
the install does not complete and the system is left unbootable. Bummer.
anaconda dump is attached.
Created attachment 243821 [details]
This is caused by the changes to support setting the context of a homedir in
libuser. The thing that makes it tricky is that we're working within a chroot
and selinux has no concept at all of chroots :-/
This is hardly a fault of SELinux, the user is created with
"/chroot/path/home/..." as a home directory by anaconda/libuser. I'm afraid
there's only so much the workaround from #187373 can do.
A) If it is permissible to require that the installed system contains libuser,
anaconda could chroot() to instPath, unset LIBUSER_CONF and either
a) run luseradd, or
b) use Python's libuser interface
B) Modify libuser to add a generic "chroot" parameter.
C) Add root= to libuser's admin.createHome and admin.addUser.
I'm leaning towards C); it is ugly, but less invasive than B) and it does not
require a working libc with a compatible NSS in the chroot. I don't know about A).
Fixed with some chroot hackery in anaconda.
Works as expected with anaconda-184.108.40.206-1 (tested on ppc64)