Bug #2797

Install fails if root password contains # or $ characters

Added by Giacomo Sanchietti over 5 years ago. Updated over 4 years ago.

Status:CLOSEDStart date:
Priority:NormalDue date:
Assignee:-% Done:

100%

Category:nethserver-installer
Target version:v6.6-beta1
Security class: Resolution:
Affected version:v6.5-final NEEDINFO:No

Description

When installing with interactive installer, if the user types a password containing # or $ characters the installation fails with the error:

The following error was found while parsing the kickstart configuration file:

The folloing problem occurred on line 1 of the kickstart file:

A single argument is expected for rootpw command

Both # and $ characters must be protected with a backslash.

Associated revisions

Revision 0aacfdbc
Added by Giacomo Sanchietti almost 5 years ago

Installer: accept password with special chars. Refs #2797

Revision 9f6b3ce7
Added by Giacomo Sanchietti almost 5 years ago

Interactive installer: remove password and encryption pages. Refs #2797

Revision 2cea08d8
Added by Giacomo Sanchietti over 4 years ago

interactive installer: re-add support for fs encryption. Refs #2797

History

#1 Updated by Giacomo Sanchietti over 5 years ago

  • Status changed from NEW to TRIAGED
  • Target version set to ~FUTURE
  • % Done changed from 0 to 20

This should be fix on next ISO release.

#3 Updated by Filippo Carletti almost 5 years ago

  • Target version changed from ~FUTURE to v6.6-beta1

#4 Updated by Giacomo Sanchietti almost 5 years ago

  • Assignee set to Giacomo Sanchietti

#5 Updated by Giacomo Sanchietti almost 5 years ago

  • Status changed from TRIAGED to ON_DEV
  • % Done changed from 20 to 30

#6 Updated by Giacomo Sanchietti almost 5 years ago

  • Status changed from ON_DEV to MODIFIED
  • Assignee deleted (Giacomo Sanchietti)
  • % Done changed from 30 to 60

#7 Updated by Giacomo Sanchietti almost 5 years ago

  • Status changed from MODIFIED to ON_QA
  • % Done changed from 60 to 70
Test case
  • Do a clone of nethserver-devbox repository, build the ISO and use it to install a new machine
  • Check the bug is not reproducible

Note: latest NON public build of ISO can be found here: http://git.nethesis.it/install/nethserver/iso/NethServer-6.6beta1-x86_64.iso
If someone want to try it, feel free to ask.

#8 Updated by Filippo Carletti almost 5 years ago

  • Status changed from ON_QA to TRIAGED
  • % Done changed from 70 to 20

I typed: qwerty#$
[note: # is on the 3 key in the us keyb]

Install fails with:

Traceback (most recent call last):
  File "/usr/bin/anaconda", line 833, in <module>
    ksdata = kickstart.parseKickstart(anaconda, opts.ksfile)
  File "/usr/lib/anaconda/kickstart.py", line 1483, in parseKickstart
    ksparser.readKickstart(file)
  File "/usr/lib/python2.6/site-packages/pykickstart/parser.py", line 787, in readKickstart
    self._stateMachine (lambda: fh.readline())
  File "/usr/lib/python2.6/site-packages/pykickstart/parser.py", line 629, in _stateMachine
    self.readKickstart (args[1], reset=False)
  File "/usr/lib/python2.6/site-packages/pykickstart/parser.py", line 787, in readKickstart
    self._stateMachine (lambda: fh.readline())
  File "/usr/lib/python2.6/site-packages/pykickstart/parser.py", line 615, in _stateMachine
    args = shlex.split(self._line)
  File "/usr/lib64/python2.6/shlex.py", line 279, in split
    return list(lex)
  File "/usr/lib64/python2.6/shlex.py", line 269, in next
    token = self.get_token()
  File "/usr/lib64/python2.6/shlex.py", line 96, in get_token
    raw = self.read_token()
  File "/usr/lib64/python2.6/shlex.py", line 172, in read_token
    raise ValueError, "No closing quotation" 
ValueError: No closing quotation
install exited abnormally [1/1] 
The system will be rebooted when you press Ctrl-C or Ctrl-Alt-Delete.

#9 Updated by Giacomo Sanchietti almost 5 years ago

  • Status changed from TRIAGED to ON_DEV
  • Assignee set to Giacomo Sanchietti
  • % Done changed from 20 to 30

#10 Updated by Giacomo Sanchietti almost 5 years ago

With the new first configuration wizard, following sections will be removed from interactive installer:
  • root password
  • filesystem encryption

Filesystem encryption will be available with the fspassword kernel option, just like the unattend installation.
But the following characters are NOT supported: $, #

#11 Updated by Giacomo Sanchietti over 4 years ago

  • Status changed from ON_DEV to MODIFIED
  • % Done changed from 30 to 60

Filesystem encryption is now available in interactive and unattended install by adding the fspassword to kernel parameters.

#12 Updated by Giacomo Sanchietti over 4 years ago

  • Status changed from MODIFIED to ON_QA
  • Assignee deleted (Giacomo Sanchietti)
  • % Done changed from 60 to 70
Test case
  • Boot a machine with the new ISO
  • Select "NethServer interactive installer"
  • Press TAB, and add to the command line the following option:
    fspassword=1234
    
  • At the end of the installation the system should asks for a password, type "1234" and check the system starts correctly

#13 Updated by Filippo Carletti over 4 years ago

  • Status changed from ON_QA to VERIFIED
  • % Done changed from 70 to 90

root password no longer requested, it is shown on the last dialog together with the "disk will be formatted" warning.
fspassword worked as expected.

#14 Updated by Davide Principi over 4 years ago

  • Status changed from VERIFIED to CLOSED
  • % Done changed from 90 to 100

In nethserver-6.6-Beta1-x86_64 ISO

Also available in: Atom PDF