Bug 358901 - anaconda traceback when creating a user with kickstart's "user" command
Summary: anaconda traceback when creating a user with kickstart's "user" command
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: anaconda
Version: rawhide
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Anaconda Maintenance Team
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: F8Blocker
TreeView+ depends on / blocked
 
Reported: 2007-10-30 19:06 UTC by Will Woods
Modified: 2007-11-30 22:12 UTC (History)
1 user (show)

Fixed In Version: anaconda-11.3.0.50-1
Clone Of:
Environment:
Last Closed: 2007-10-31 19:24:24 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
anaconda dump (154.45 KB, text/plain)
2007-10-30 19:06 UTC, Will Woods
no flags Details

Description Will Woods 2007-10-30 19:06:05 UTC
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.

Comment 1 Will Woods 2007-10-30 19:06:05 UTC
Created attachment 243821 [details]
anaconda dump

Comment 2 Jeremy Katz 2007-10-30 19:35:58 UTC
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 :-/

Comment 3 Miloslav Trmač 2007-10-31 01:57:49 UTC
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.

Options:
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).

Comment 4 Jeremy Katz 2007-10-31 04:22:22 UTC
Fixed with some chroot hackery in anaconda. 

Comment 5 Will Woods 2007-10-31 19:24:24 UTC
Works as expected with anaconda-11.3.0.50-1 (tested on ppc64)


Note You need to log in before you can comment on or make changes to this bug.