Hi David, I found that test-preserve.sh would fail on an F11 system with SELinux in enforcing mode. That happened because ls -lZ would print this:
-rw-r--r--. root root system_u:object_r:net_conf_t:s0 /etc/hosts And in that case, the context string is the 4th space-delimited token, and not the 5th. Perhaps you have disabled SELinux and have a space in place of the "."? Then the cut...-f 5 would work. You might also have to have a slightly outdated version of ls. In any case, if ls accepts -lZ, then stat --format=%C should also work, yet be independent of whether SELinux is in enforcing mode. Its result also requires less parsing: (alternatively, you could use sed 's/ */ /' like you did for act_group= just above) >From c3df3f9ed0be573658d36873b8a2b047f1cee915 Mon Sep 17 00:00:00 2001 From: Jim Meyering <[email protected]> Date: Tue, 21 Jul 2009 09:22:45 -0400 Subject: [PATCH] tests: extract SELinux context more portably * test-preserve.sh: Use stat --format=%C $hosts ... rather than ls -lZ $hosts | cut -d ' ' -f 5. The latter fails with some combinations of ls and SELinux. --- tests/test-preserve.sh | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/tests/test-preserve.sh b/tests/test-preserve.sh index 301b0c1..eb6bb7a 100755 --- a/tests/test-preserve.sh +++ b/tests/test-preserve.sh @@ -42,7 +42,7 @@ fi act_group=$(ls -l $hosts | sed -e 's/ */ /g' | cut -d ' ' -f 4) act_mode=$(ls -l $hosts | cut -b 1-10) if [ $selinux = yes ] ; then - act_con=$(ls -lZ $hosts | cut -d ' ' -f 5 | cut -d ':' -f 3) + act_con=$(stat --format=%C $hosts | cut -d ':' -f 3) fi if [ "x$group" != "x$act_group" ] ; then echo "Expected group $group but got $act_group" -- 1.6.2.5 _______________________________________________ augeas-devel mailing list [email protected] https://www.redhat.com/mailman/listinfo/augeas-devel
