Merge pull request #378 from fiatflux/ntfs-3g

File permission special case for NTFS-3g on POSIX.
This commit is contained in:
Jonathan Warren 2013-08-07 12:26:43 -07:00
commit fed1f7a3cc

View File

@ -346,6 +346,19 @@ def checkSensitiveFilePermissions(filename):
# Windows systems.
return True
else:
try:
# Skip known problems for non-Win32 filesystems without POSIX permissions.
import subprocess
fstype = subprocess.check_output('stat -f -c "%%T" %s' % (filename),
shell=True,
stderr=subprocess.STDOUT)
if 'fuseblk' in fstype:
logger.info('Skipping file permissions check for %s. Filesystem fuseblk detected.',
filename)
return True
except:
# Swallow exception here, but we might run into trouble later!
logger.error('Could not determine filesystem type.', filename)
present_permissions = os.stat(filename)[0]
disallowed_permissions = stat.S_IRWXG | stat.S_IRWXO
return present_permissions & disallowed_permissions == 0