GNU bug report logs - #44587
ls prints garbage when listing contents of a directory without exec permissions

Previous Next

Package: coreutils;

Reported by: Jan Schaumann <jschauma <at> netmeister.org>

Date: Wed, 11 Nov 2020 23:27:02 UTC

Severity: normal

Done: Paul Eggert <eggert <at> cs.ucla.edu>

Bug is archived. No further changes may be made.

Full log


Message #8 received at 44587 <at> debbugs.gnu.org (full text, mbox):

From: Bernhard Voelker <mail <at> bernhard-voelker.de>
To: Jan Schaumann <jschauma <at> netmeister.org>, 44587 <at> debbugs.gnu.org
Subject: Re: bug#44587: ls prints garbage when listing contents of a directory
 without exec permissions
Date: Thu, 12 Nov 2020 00:53:46 +0100
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.