perl -r says readable dir is unreadable
Reini Urban
rurban@x-ray.at
Tue Apr 28 00:01:00 GMT 2009
2009/4/26 Mikel Ward:
> Sorry.
>
> Found this
> http://sourceware.org/ml/cygwin/2005-03/msg00488.html
>
> Apparently it's been an issue since at least Perl 5.8.6 in 2005, but
> probably longer.
Oops. I'll to fix that and get it into perl core.
Right now I'm on a business trip in Berlin, so it will need some days.
But it will be in the next perl for cygwin-1.7 (if I can reproduce it).
> On Sun, Apr 26, 2009 at 2:37 PM, Mikel Ward wrote:
>> Hi
>>
>> I'm having problems with a Perl script that works fine on Linux.
>>
>> The key is that the -r (file is readable) operator returns false for
>> directories that I CAN read. "test" and "ls" prove that I can read
>> them.
>>
>> Something that might be related is that C:, C:\Windows, and others are
>> owned by the "TrustedInstaller" user, which mkpasswd can't handle.
>> http://www.nabble.com/group-%3D-(2**32-1)-%3D-4294967295-td20319853.html
>>
>> I use / as my Cygwin prefix rather than /cygdrive, but I've tried
>> /cygdrive and it gives the same results.
>>
>> I'm running as myself, but running as Administrator also gives the same results.
>>
>> I'm running Vista.
>>
>> $ test -r /c/WINDOWS && echo "/c/WINDOWS is readable"
>> /c/WINDOWS is readable
>>
>> $ cat ~/bin/readable
>> #!/usr/bin/perl
>>
>> if (-r $ARGV[0]) {
>> print $ARGV[0] . " is readable\n";
>> exit 0;
>> }
>> else {
>> print $ARGV[0] . " IS NOT readable\n";
>> exit 1;
>> }
>>
>> $ ~/bin/readable /c/WINDOWS
>> /c/WINDOWS IS NOT readable
>>
>> $ cat ~/bin/pstat
>> #!/usr/bin/perl
>>
>> ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks)
>> = stat($ARGV[0]);
>> print "mode = " . $mode . "\n";
>>
>> $ ~/bin/pstat /c/WINDOWS
>> mode = 16888
>>
>> $ ls -l /c/WINDOWS | head
>> ls: /c/WINDOWS/bthservsdp.dat: Permission denied
>> ls: /c/WINDOWS/DUMP4352.tmp: Permission denied
>> ls: /c/WINDOWS/LiveKernelReports: Permission denied
>> ls: /c/WINDOWS/MEMORY.DMP: Permission denied
>> ls: /c/WINDOWS/ModemLogs: Permission denied
>> ls: /c/WINDOWS/Prefetch: Permission denied
>> ls: /c/WINDOWS/Temp: Permission denied
>> total 505455
>> -rwx------+ 1 Administrators None 0 Jan 2 10:58 AS_Debug.txt*
>> drwxrwx---+ 4 ???????? ???????? 4096 Apr 15 07:30 AppPatch/
>> drwxrwx---+ 6 ???????? ???????? 0 Nov 23 13:52 Boot/
>> drwxrwx---+ 4 ???????? ???????? 0 Nov 2 2006 Branding/
>> drwx------+ 2 Administrators ???????? 49152 Nov 2 2006 Cursors/
>> -rwx------+ 1 Administrators None 1171 Jan 6 22:34 DIFx.log*
>> -rwx------+ 1 Administrators None 319456 Jan 2 10:59 DIFxAPI.dll*
>> -rwx------+ 1 SYSTEM SYSTEM 17932 Jan 6 23:13 DPINST.LOG*
>> ---------- 1 ???????? ???????? 212167315 Nov 20 22:51 DUMP4352.tmp
>>
>> $ perl -version
>>
>> This is perl, v5.10.0 built for cygwin-thread-multi-64int
>> (with 6 registered patches, see perl -V for more detail)
--
Reini Urban
http://phpwiki.org/ http://murbreak.at/
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
More information about the Cygwin
mailing list