[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: coreutils-6.10 tests/misc/pwd-long fails when / is not readable
From: |
Jim Meyering |
Subject: |
Re: coreutils-6.10 tests/misc/pwd-long fails when / is not readable |
Date: |
Sat, 23 Feb 2008 23:27:15 +0100 |
"Theodoros V. Kalamatianos" <address@hidden> wrote:
> as the subject says, the tests/misc/pwd-long test fails with a
> Permission denied' error when / is not readable by the user that runs
> the test. The reason for this is that it apparently tries to read the
> ../../../ ... ../../../' directory, which normally points to root.
>
> While the usefulness and/or validity of having / unreadable by
> unprivileged users is debatable, at least one Linux distribution
> (Mandrake/Mandriva) seems to keep it that way in its "secure" setting
> and I was wondering if it would be possible to work around this issue
> (would '../misc/../misc/../misc ...' do ?) or at least to make that
> test run as root only or be skipped if / is not readable.
Thanks for the report.
Would you please confirm that this patch is sufficient?
Subject: [PATCH] Avoid test failures when root (/) is not readable.
* tests/test-lib.sh (require_readable_root_): New function.
* tests/misc/pwd-long: Skip this test when / is unreadable.
* tests/du/slash: Likewise.
This is required at least for Mandrake/Mandriva in "secure" mode.
Reported by Theodoros V. Kalamatianos in
http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/12800
---
tests/du/slash | 3 ++-
tests/misc/pwd-long | 3 ++-
tests/test-lib.sh | 5 +++++
3 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/tests/du/slash b/tests/du/slash
index dd91751..7f218c9 100755
--- a/tests/du/slash
+++ b/tests/du/slash
@@ -22,6 +22,7 @@ if test "$VERBOSE" = yes; then
fi
. $srcdir/../test-lib.sh
+require_readable_root_
fail=0
diff --git a/tests/misc/pwd-long b/tests/misc/pwd-long
index 6ab2188..d931d34 100755
--- a/tests/misc/pwd-long
+++ b/tests/misc/pwd-long
@@ -20,6 +20,7 @@
. $srcdir/../require-perl
. $srcdir/../test-lib.sh
+require_readable_root_
ARGV_0=$0
export ARGV_0
diff --git a/tests/test-lib.sh b/tests/test-lib.sh
index a473dfb..c494e19 100644
--- a/tests/test-lib.sh
+++ b/tests/test-lib.sh
@@ -39,6 +39,11 @@ require_ulimit_()
&& skip_test_ "this shell lacks ulimit support"
}
+require_readable_root_()
+{
+ test -r / || skip_test_ "/ is not readable"
+}
+
# Skip the current test if strace is not available or doesn't work.
require_strace_()
{
--
1.5.4.2.198.g5fe8d