[ python-Bugs-991735 ] os.access reports true for read-only
directories
SourceForge.net
noreply at sourceforge.net
Thu Jul 29 21:28:39 CEST 2004
Bugs item #991735, was opened at 2004-07-15 12:08
Message generated for change (Comment added) made by mkc
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=991735&group_id=5470
Category: Windows
Group: Python 2.3
Status: Open
Resolution: None
Priority: 5
Submitted By: Mark Moales (mmoales)
Assigned to: Nobody/Anonymous (nobody)
Summary: os.access reports true for read-only directories
Initial Comment:
It appears that os.access incorrectly reports write
access to directories on network drives. For example, if
I have a read-only directory called foo\bar on a machine
called homeserver, the following code always returns
true:
print os.access("\\homeserver\foo\bar", os.W_OK)
True
Similarly, if I map above directory to a drive, the results
are the same, i.e.:
print os.access("H:\bar", os.W_OK)
True
However, if I try to create a file in that directory, I get
a permission error:
f = file("h:\foo\bar\test.txt", 'w+b')
Traceback (most recent call last):
File "<stdin>", line 1, in ?
IOError: [Errno 13] Permission
denied: 'h:\foo\bar\test.txt'
----------------------------------------------------------------------
Comment By: Mike Coleman (mkc)
Date: 2004-07-29 14:28
Message:
Logged In: YES
user_id=555
The submitter seems to want os.access to agree with the
subsequent behavior of I/O operation, but this is not
possible for all cases. The NFS spec, for example, allows
NFS servers to deny operations in a capricious manner, over
and above any denial that might be due to permissions bits
and/or a volume "read only" flag. I don't know if there is
an SMB/CIFS server spec, but one could imagine the same
thing happening there.
It might be possible to add ACL checking to the Windows
version of os.access, if a Windows person thinks it's
worthwhile. It probably would be valuable to add a
clarification to the os.access doc. For example:
Note that I/O operations may fail even when the access
function indicates that they would succeed, particularly for
operations on network filesystems, which may have
permissions semantics beyond the usual POSIX permission-bit
model.
(Also, if someone does this, please update the doc to note
that access returns True and False, not 1 and 0.)
----------------------------------------------------------------------
Comment By: Tim Peters (tim_one)
Date: 2004-07-15 15:59
Message:
Logged In: YES
user_id=31435
Heh -- I didn't know it either, Thomas. But I've also noticed
how many new Windows bugs get assigned to you, and got
curious enough to dig into it.
----------------------------------------------------------------------
Comment By: Mark Moales (mmoales)
Date: 2004-07-15 14:25
Message:
Logged In: YES
user_id=565165
This may not be a bug afterall. I think it has to do with
Window's ACLs. I believe os.access is just looking at access
bits. For example, I can create a directory and leave it as
writable, but prevent access to it via an ACL. In this case,
os.access reports true, but any operation you try to perform
on the dictionary get's a permission error. It might just need
to be mentioned in the os.access doc.
Thomas: no problem
----------------------------------------------------------------------
Comment By: Thomas Heller (theller)
Date: 2004-07-15 14:20
Message:
Logged In: YES
user_id=11105
Tim: I didn't know that. Thanks for disabling it.
Mark: Sorry, it wasn't your fault.
----------------------------------------------------------------------
Comment By: Tim Peters (tim_one)
Date: 2004-07-15 13:56
Message:
Logged In: YES
user_id=31435
The tracker was set to auto-assign Windows reports to you,
Thomas. I disabled that (and Windows reports will be
assigned to None by default now).
----------------------------------------------------------------------
Comment By: Thomas Heller (theller)
Date: 2004-07-15 13:41
Message:
Logged In: YES
user_id=11105
Please don't assign windows bugs to me. Thanks.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=991735&group_id=5470
More information about the Python-bugs-list
mailing list