Bug 1294243

Summary: grub2-setpassword only work when locale is C
Product: Red Hat Enterprise Linux 7 Reporter: Michael S. <misc>
Component: grub2Assignee: rmarshall
Status: CLOSED ERRATA QA Contact: Release Test Team <release-test-team-automation>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 7.2CC: jstodola, pholica, rmarshall
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
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
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-04 04:00:28 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

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

Comment 8 Red Hat Bugzilla 2023-09-14 03:15:23 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 1000 days