Hide Forgot
augeas fails to parse a cgconfig.conf file with the fperm and dperm keys in the task/admin blocks inside a perm block inside a group block. Red Hat Enterprise Linux Workstation release 7.2 (Maipo) kernel-3.10.0-327.4.5.el7.x86_64 augeas-libs-1.4.0-2.el7.x86_64 python-augeas-0.5.0-2.el7.noarch ruby-augeas-0.5.0-1.el7.x86_64 Here is a success (not trying to use fperm or dperm): # cat >/var/tmp/succeeds.aug <<EOM set /files/etc/cgconfig.conf/group[ .= 'new_group' ] 'new_group' set /files/etc/cgconfig.conf/group[ .= 'new_group' ]/perm/task/uid 'root' set /files/etc/cgconfig.conf/group[ .= 'new_group' ]/perm/task/gid 'root' save EOM # augtool -f /var/tmp/succeeds.aug -e augtool> set /files/etc/cgconfig.conf/group[ .= 'new_group' ] 'new_group' augtool> set /files/etc/cgconfig.conf/group[ .= 'new_group' ]/perm/task/uid 'root' augtool> set /files/etc/cgconfig.conf/group[ .= 'new_group' ]/perm/task/gid 'root' augtool> save Saved 1 file(s) And here is a failure with the augeas error: # cat >/var/tmp/fails.aug <<EOM set /files/etc/cgconfig.conf/group[ .= 'new_group' ] 'new_group' set /files/etc/cgconfig.conf/group[ .= 'new_group' ]/perm/task/uid 'root' set /files/etc/cgconfig.conf/group[ .= 'new_group' ]/perm/task/gid 'root' set /files/etc/cgconfig.conf/group[ .= 'new_group' ]/perm/task/fperm '777' save errors EOM # augtool -f /var/tmp/fails.aug -e augtool> set /files/etc/cgconfig.conf/group[ .= 'new_group' ] 'new_group' augtool> set /files/etc/cgconfig.conf/group[ .= 'new_group' ]/perm/task/uid 'root' augtool> set /files/etc/cgconfig.conf/group[ .= 'new_group' ]/perm/task/gid 'root' augtool> set /files/etc/cgconfig.conf/group[ .= 'new_group' ]/perm/task/fperm '777' augtool> save error: Failed to execute command saving failed (run 'errors' for details) augtool> errors Error in /etc/cgconfig.conf (put_failed) Failed to match ( { /uid|gid/ = /[^\001-\004\t\n #;{}]+/ } | { /#comment/ = /[^\001-\004\t\n\r ][^\001-\004\n]*[^\001-\004\t\n\r ]|[^\001-\004\t\n\r ]/ } | { })* with tree { "uid" = "root" } { "gid" = "root" } { "fperm" = "777" } Lens: /usr/share/augeas/lenses/dist/cgconfig.aug:51.7-.49: augtool> If I modify /usr/share/augeas/lenses/dist/cgconfig.aug and change (uid|gid) to (uid|gid|fperm|dperm) it can save the file.
Fixed upstream: https://github.com/hercules-team/augeas/commit/ce1ba83fe7ca5b5c9be4c396be8e9e106cfaf0e3
Verified with package: augeas-1.4.0-5.el7.x86_64 Steps: 1. #yum install libcgroup-tools (there is no /etc/cgconfig.conf by default on rhel7.4 host. so need to install this package) 2. # augtool augtool> set /files/etc/cgconfig.conf/group[ .= 'new_group' ] 'new_group' augtool> set /files/etc/cgconfig.conf/group[ .= 'new_group' ]/perm/task/uid 'root' augtool> set /files/etc/cgconfig.conf/group[ .= 'new_group' ]/perm/task/gid 'root' augtool> set /files/etc/cgconfig.conf/group[ .= 'new_group' ]/perm/task/fperm '777' augtool> save Saved 1 file(s) augtool> The save command can be executed successfully. No error occurs. Verified it.
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://access.redhat.com/errata/RHBA-2018:0684