GNU bug report logs -
#44587
ls prints garbage when listing contents of a directory without exec permissions
Previous Next
Full log
Message #8 received at 44587 <at> debbugs.gnu.org (full text, mbox):
On 11/12/20 12:24 AM, Jan Schaumann wrote:
> When running 'ls -l' on a directory that the user does
> not have execute permissions on, ls(1) still attempts
> to generate the long listing and prints the various
> fields with garbage:
>
> $ mkdir dir
> $ touch dir/file
> $ chmod a-x dir
> $ ls -ld dir
> drw-r--r-- 2 jschauma users 28 Nov 11 23:15 dir
> $ ls -la dir
> ls: cannot access dir/.: Permission denied
> ls: cannot access dir/..: Permission denied
> ls: cannot access dir/file: Permission denied
> total 0
> d????????? ? ? ? ? ? .
> d????????? ? ? ? ? ? ..
> -????????? ? ? ? ? ? file
> $
>
>
> Expected output:
>
> $ ls -la dir
> ls: cannot access dir/.: Permission denied
> ls: cannot access dir/..: Permission denied
> ls: cannot access dir/file: Permission denied
> $
>
> This is coreutils-8.32.
That feature seems to have been turned on explicitly in version 6.0 (in 2006):
https://git.sv.gnu.org/cgit/coreutils.git/commit/?id=ccb1883fcd2
[...] Apply the stat-failed parts of Red Hat's
coreutils-selinux.patch. From Ulrich Drepper.
This makes it so files not mentioned on the command line (e.g.,
names read from a directory that *is* mentioned on the command
line) for which stat fails are still listed. [...]
Have a nice day,
Berny
This bug report was last modified 4 years and 271 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.