Bug 1294243 - grub2-setpassword only work when locale is C [NEEDINFO]
Summary: grub2-setpassword only work when locale is C
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: grub2
Version: 7.2
Hardware: Unspecified
OS: Linux
unspecified
medium
Target Milestone: rc
: ---
Assignee: rmarshall
QA Contact: Release Test Team
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-12-25 17:15 UTC by Michael S.
Modified: 2016-11-04 04:00 UTC (History)
3 users (show)

Fixed In Version: grub2-2.02-0.34
Doc Type: Bug Fix
Doc Text:
Cause: Alternate locales translate the output from CLI tools. Consequence: Searching for proper output in the shell script failed because of the translation; thus grub2-setpassword would fail because it put the wrong string into the password file. Fix: Set Locale for that specific call in the shell script to ensure the output is what we expected to parse. Result: grub2-setpassword works
Clone Of:
Environment:
Last Closed: 2016-11-04 04:00:28 UTC
Target Upstream Version:
apetrova: needinfo? (rmarshall)


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2016:2336 0 normal SHIPPED_LIVE grub2 bug fix and enhancement update 2016-11-03 13:45:27 UTC

Description Michael S. 2015-12-25 17:15:13 UTC
Description of problem:
I tried to use grub2-setpassword today. But it did generate a incorrect configuration file. It seems the script is removing the output of grub2-mkpassword using sed, but not taking in account potential translation. So it should be run with LC_ALL=C as variable.


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

# rpm -q grub2-tools
grub2-tools-2.02-0.33.el7_2.x86_64


How reproducible:

each time

Steps to Reproduce:
1. LC_ALL=fr_FR.utf8 grub2-setpassword
2. enter password twice

Actual results:

# cat /boot/grub2/user.cfg
GRUB2_PASSWORD=Entrez le mot de passe : 
Entrez de nouveau le mot de passe : 
Le hachage PBKDF2 du mot de passe est grub.pbkdf2.sha512.10000.9AACE61E4541D7935629D4DE69


Expected results:

# cat /boot/grub2/user.cfg
GRUB2_PASSWORD="grub.pbkdf2.sha512.10000.9AACE61E4541D7935629D4DE69"


Additional info:

The workaround is quite easy:

  LC_ALL=C grub2-setpassword

Also, even if the locale is set to a foreign language, the prompt will not change. And make sure to use a locale where grub2 is translated to, otherwise, it will work fine.

Comment 2 Michael S. 2015-12-26 11:53:33 UTC
Related to https://bugzilla.redhat.com/show_bug.cgi?id=1292830 (found out after facing the problem on my own system)

Comment 7 errata-xmlrpc 2016-11-04 04:00:28 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2016-2336.html


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