misc/156225: test -x under root in bash shell returns incorrect
results
Mikolaj Golub
trociny at freebsd.org
Sun Apr 10 14:40:12 UTC 2011
The following reply was made to PR misc/156225; it has been noted by GNATS.
From: Mikolaj Golub <trociny at freebsd.org>
To: remko at FreeBSD.org, cmyk777 at gmail.com, bug-followup at FreeBSD.org
Cc:
Subject: Re: misc/156225: test -x under root in bash shell returns incorrect results
Date: Sun, 10 Apr 2011 17:33:29 +0300
Bash checks permission calling eaccess(2). The issue is that it returns
success for root:
19632 bash CALL eaccess(0x28417600,X_OK)
19632 bash NAMI "/root/.cshrc"
19632 bash RET eaccess 0
sh's test has a workaround for this:
case FILEX:
/* XXX work around eaccess(2) false positives for superuser */
if (eaccess(nm, X_OK) != 0)
return 0;
if (S_ISDIR(s.st_mode) || geteuid() != 0)
return 1;
The eaccess(2) behaviour has been changed in CURRENT. See kern/125009 for
details. I think this ticket can be set as a duplicate of kern/125009.
--
Mikolaj Golub
More information about the freebsd-bugs
mailing list