[sf-perl] Bug in perl (or does -r not do what I think?)

Dan Boger dan at peeron.com
Fri Jun 6 13:04:01 PDT 2008


I'm a little bit confused here, maybe one of you guys can spot what I'm
missing.

I have some files on an NFS filesystem, that is set to root_squash.  The
file is owned by my network id (dboger), while I'm logged in locally as dan:

dan at dbdb$ ls -l somefile.png
-r-------- 1 dboger 3813 2008-06-05 16:46 somefile.png

I'm trying to figure out if a file is readable, so I do something like:

dan at dbdb$ perl -le 'print "lies" if -r shift' somefile.png
dan at dbdb$

That is correct - the file is owned by a different UID, and is set to 0400.

Now, I try the same thing as root:

dan at dbdb$ sudo perl -le 'print "lies" if -r shift' somefile.png
lies
dan at dbdb$ sudo file somefile.png
couldn't open file
somefile.png: regular file, no read permission

Is perl just assuming that if I'm root I can always read the file, even
though the permissions say that's wrong?

What am I missing?

Dan

-- 
Dan Boger
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.pm.org/pipermail/sanfrancisco-pm/attachments/20080606/9d8e8c72/attachment.html 


More information about the SanFrancisco-pm mailing list