file permissions on windows XP (home)
Duncan Booth
duncan.booth at invalid.invalid
Tue Jun 7 09:09:16 EDT 2005
Peter Hansen wrote:
>>
>> Why is python returing True from os.access?
>> Why isn't chmod doing anything?
>
> Check your results using os.stat() after doing that, perhaps? If it
> shows the right values for the permissions, then clearly the problem has
> nothing to do with Python per se, or your own code.
>
And also remember that in windows the mode in os.chmod and os.stat is only
loosely related to the actual permissions on the file. In particular there
is a 'readonly' flag which is separate from whether any particular user
or group has write access. The only way to tell whether you have access to
a file in windows really is to try to open it and handle the exception.
Try using the properties panel, or the windows CACLS to display the
security permissions on the file.
If you start with a plain file, then you and administrators probably have
full access (CACLS will display 'your username:F'). If you use Python to
set an access mode, it simply tries to toggle the attributes on the file
itself. If you use Cygwin's chmod it will mess about with the security
permissions in an attempt to get as close to the Unix file mode as it can,
so your nice simple 'F' mode might become something truly horrendous:
Before:
C:\temp>cacls testfile.txt
C:\temp\testfile.txt BUILTIN\Administrators:F
NT AUTHORITY\SYSTEM:F
DELL5150\Duncan:F
BUILTIN\Users:R
C:\temp>\cygwin\bin\chmod 744 testfile.txt
C:\temp>cacls testfile.txt
C:\temp\testfile.txt DELL5150\Duncan:(special access:)
STANDARD_RIGHTS_ALL
DELETE
READ_CONTROL
WRITE_DAC
WRITE_OWNER
SYNCHRONIZE
STANDARD_RIGHTS_REQUIRED
FILE_GENERIC_READ
FILE_GENERIC_WRITE
FILE_GENERIC_EXECUTE
FILE_READ_DATA
FILE_WRITE_DATA
FILE_APPEND_DATA
FILE_READ_EA
FILE_WRITE_EA
FILE_EXECUTE
FILE_READ_ATTRIBUTES
FILE_WRITE_ATTRIBUTES
DELL5150\None:(special access:)
READ_CONTROL
SYNCHRONIZE
FILE_GENERIC_READ
FILE_READ_DATA
FILE_READ_EA
FILE_READ_ATTRIBUTES
Everyone:(special access:)
READ_CONTROL
SYNCHRONIZE
FILE_GENERIC_READ
FILE_READ_DATA
FILE_READ_EA
FILE_READ_ATTRIBUTES
BUILTIN\Administrators:F
NT AUTHORITY\SYSTEM:F
BUILTIN\Users:R
More information about the Python-list
mailing list