Bug 55672

Summary: kickstart: rootpw --iscrypted can not be used with interactive or autostep installation
Product: [Retired] Red Hat Linux Reporter: Zenon Mousmoulas <zmousm>
Component: anacondaAssignee: Jeremy Katz <katzj>
Status: CLOSED WONTFIX QA Contact: Brock Organ <borgan>
Severity: medium Docs Contact:
Priority: medium    
Version: 9CC: aoliva, herrold
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2004-10-05 02:28:02 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Zenon Mousmoulas 2001-11-04 15:04:41 UTC
Description of problem:
In a kickstart configuration file, if one uses the --iscrypted parameter 
to the "rootpw" directive, in order to supply a pre-encrypted password, 
and the "interactive" or "autostep" directives are used so that the 
installation procedure is forced into a semi-automatic mode, this 
password is not used to fill the root password fields in the account 
setup step of the interactive installation procedure. The password fields 
(enter and confirm) must be filled manually, otherwise it is impossible 
to proceed to the next step.
I understand anaconda probably doesn't have the means to process the 
password in order to automatically fill these fields, however:
a. the documentation should clearly state that an encrypted root password 
should not be used along with interactive or autostep directives and
b. the kickstart configuration parser should either reject config files 
that include both "rootpw --iscrypted" and "interactive" or "autostep", 
or anaconda should totally skip the account creation step during an 
interactive installation if this directive is used, or it should allow 
proceeding to the next step even if a root password is not given in this 
step; it would then just use the encrypted one from ks.cfg.

Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. Write a ks.cfg file with the directives: "rootpw --iscrypted 
<encrypted password>" and "interactive"
2. Install RHL: e.g. boot from RHL 7.2 CD1 with ks.cfg on a floppy and 
type linux ks=floppy
3. Proceed through to the account configuration step.
4. Notice how the root password fields are empty and anaconda does not 
allow to proceed to the next step unless you enter a root password in the 
fields, effectively overriding the password in ks.cfg.
5. Abort installation, edit ks.cfg and change the rootpw directive 
to "rootpw <unencrypted password>".
6. Repeat the procedure in steps 2 and 3.
7. Notice how anaconda has filled the root password fields this time.

Actual Results:  Anaconda does not allow an interactive installation to 
proceed to the next step after account configuration when the root 
password fields are left blank, even though the root passwor is provided 
encrypted in the kickstart configuration file that is used during this 
installation.

Expected Results:  Anaconda's kickstart configuration parser should 
reject config files that include both "rootpw --iscrypted" 
and "interactive" or "autostep".
OR
Anaconda should totally skip the account creation step during an 
interactive installation if "rootpw --iscrypted" is used, or it should 
allow proceeding to the next step even if a root password is not given 
(blank fields) in this step; it would then just use the encrypted one 
from ks.cfg.

Additional info:

Kickstart documentation (part of RHL Official Customization Guide) is not 
clear at several points. Most specifically, the two most noticeable 
issues are:
A. It is not always clear what the right syntax for directive parameters 
that accept arguments is, i.e. if 
directive --parameter argument
is right or if
directive --parameter=argument
is right. From experience, it usually does not make a difference, but 
using the "=" syntax is cleaner. But I have no clue the scripting 
language that anaconda uses (python) does process these syntax formats 
different.
B. The documentation should include syntactical examples for every 
directive and parameter explained. It should also be explicitly noted 
when a directive requires at a minimum some parameters, which parameters 
are required to be used together and which parameters conflict with each 
other and should not be used together. There are some notes about such 
issues (e.g. see the part/partition directive documentation) but there 
are many more missing (see Bug #55670). Similarly, directive dependencies 
and conflictions should be better documented (see this bug's Description).

Comment 1 Brent Fox 2001-11-09 03:54:25 UTC
I've verified this behavior.  katzj, how do you want to handle this?

Comment 2 Jeremy Katz 2001-11-09 21:06:59 UTC
Skipping this step is possible, but it would require adding a lot more inner
knowledge of steps when the kickstart file is read on.  My initial impression is
that this is going to just fall into the category of things not to do; in a lot
of ways, interactive mode exists for debugging so I don't want it doing a lot of
different things to the flow.

I'll think on it over the weekend though to see if I can come up with something.

Comment 3 Michael Fulbright 2002-01-16 20:54:45 UTC
Don't we know we're in kickstart mode, and can't we look at the passWd object
we're passed in getScreen() to decide what to do?

Comment 4 Michael Fulbright 2002-03-26 17:32:28 UTC
Deferring to future release.

Comment 5 Jordan Jump 2002-06-04 15:52:14 UTC
This bug exists in 7.3 (Verified in autostep mode only)
If this is to become a feature, it should be documented.

Comment 6 Jeremy Katz 2003-02-18 01:26:36 UTC
*** Bug 84495 has been marked as a duplicate of this bug. ***

Comment 7 Alexandre Oliva 2003-05-12 00:34:38 UTC
Can we reconsider this for the next release?