• lloram239@feddit.de
    link
    fedilink
    arrow-up
    41
    arrow-down
    1
    ·
    7 months ago

    ls reaction to this is unexpected:

    $ mkdir foo
    $ echo Foo > foo/file
    $ chmod a-x  foo
    $ ls -l foo
    ls: cannot access 'foo/file': Permission denied
    total 0
    -????????? ? ? ? ?            ? file
    

    I expected to just get a “Permission denied”, but listing the content it can still do. So x is for following the name to the inode and r for listing directory content (i.e. just names)?

    • Zoidberg@lemm.ee
      link
      fedilink
      arrow-up
      2
      ·
      7 months ago

      You can still read the contents of the directory because you have -r on it. If you just run ls foo you’ll see your file on there, no problem.

      However, without -x you cannot read metadata in that directory. That’s why all information about the file shows as question marks.