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.