Bug 1039481 - augeas can't parse sudoers.conf if user alias with capital letters appear
Summary: augeas can't parse sudoers.conf if user alias with capital letters appear
Keywords:
Status: CLOSED DUPLICATE of bug 1016904
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: augeas
Version: 6.5
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: rc
: ---
Assignee: Dominic Cleal
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-12-09 09:13 UTC by Sven Sternberger
Modified: 2013-12-09 14:25 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-12-09 09:27:38 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description Sven Sternberger 2013-12-09 09:13:41 UTC
Description of problem:
I use in my /etc/sudoers config file a line like this

ALL ALL=NOPASSWD: /path/to/command

to allow all user to execute a command as root without password.

With the update to augeas 1.0.0-5.el6 this file can't be 
parsed/produced by augeas anymore due to a bug in the related lens.
/usr/share/augeas/lenses/dist/sudoers.aug

How reproducible:

Steps to Reproduce:
1. Enter a line like this to /etc/sudoers
ALL ALL=NOPASSWD: /path/to/command
2. Call augtool
3. in augtool>
print /files/etc/sudoers
print /augeas/files/etc/sudoers/error/

Actual results:
The file /etc/sudoers isn't loaded by augtool, errors appear

Expected results:
The file /etc/sudoers is loaded by augtool

Additional info:
The problem is that user aliases with capital letters are not
allowed (in the example "ALL")

it is easy to find in the source

1.0.0-5.el6 version (buggy):
----------------------------
let sto_to_com_user =
      let nis_re = /([A-Z]([-A-Z0-9]|(\\\\[ \t]))*+\\\\\\\\)/
   in let user_re = /[%+@a-z]([-a-z0-9]|(\\\\[ \t]))*/
   in store (nis_re? . user_re)


1.1 version (correct): 
----------------------
let sto_to_com_user =
      let nis_re = /([A-Z]([-A-Z0-9]|(\\\\[ \t]))*+\\\\\\\\)/
   in let user_re = /[%+@a-z]([-a-z0-9._]|(\\\\[ \t]))*/
   in let alias_re = /[A-Z_]+/
   in store ((nis_re? . user_re) | alias_re)

Version-Release number of selected component (if applicable):
augeas-1.0.0-5.el6.x86_64

Comment 1 Dominic Cleal 2013-12-09 09:27:38 UTC

*** This bug has been marked as a duplicate of bug 1016904 ***


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