http://www.perlmonks.org?node_id=690768


in reply to Re: -r broken on root_squash NFS?
in thread -r broken on root_squash NFS?

Right... But why does '-r' still says it's readable?

-- zigdon

Replies are listed 'Best First'.
Re^3: -r broken on root_squash NFS?
by pc88mxer (Vicar) on Jun 06, 2008 at 21:37 UTC
    You're right. I bet perl is determining readability by calling access(2). From the man page:
      access() may not work correctly on NFS file systems  with  UID  mapping
      enabled,  because UID mapping is done on the server and hidden from the
      client, which checks permissions.
    
    and root_squash is a server option.
      Could be, I guess, but a quick strace shows it does call 'stat' to get the permissions. But I guess that, on it's own, doesn't tell if the root is squashed or not, so there's no way for perl to know.

      -- zigdon

        That's exactly right, there's not enough information for Perl or the OS to know. The simplest solution is to just try and open the file and see if it fails with a "permission denied" error.