我有一段代码,可以在用户指定的目录中创建文件。用户可能会指向一个无法创建文件但可以重命名的目录。
我为测试目的创建了一个目录,称之为
我对
遍历目录/执行文件
删除子文件夹和文件
删除
读取权限
更改权限
拥有权
我没有以下权限:
完全控制
文件创建
文件夹创建
到目前为止,我尝试了以下方法:
有人知道如何编写代码来检查给定目录的当前用户是否具有在该目录中创建文件的权限吗?
简而言之,我想检查当前用户是否具有给定文件夹名称的文件创建和文件夹创建权限。
需要这样的代码的原因是来自“经过Windows Vista认证”的程序的第3个测试用例,其中规定:
应用程序不得允许最低特权用户将任何文件保存到Windows系统目录中,以通过此测试用例。
这是否应理解为“应用程序可以尝试将文件保存在Windows系统目录中,但不应在失败时崩溃?”还是“应用程序必须在尝试保存文件之前执行安全检查?”
我为测试目的创建了一个目录,称之为
C:\foo
。我对
C:\foo
具有以下权限:遍历目录/执行文件
删除子文件夹和文件
删除
读取权限
更改权限
拥有权
我没有以下权限:
完全控制
文件创建
文件夹创建
到目前为止,我尝试了以下方法:
os.access('C:\foo', os.W_OK) == True
st = os.stat('C:\foo')
mode = st[stat.ST_MODE]
mode & stat.S_IWRITE == True
我认为这是因为我可以重命名文件夹,所以它对我而言是可更改的,但它的内容不是。有人知道如何编写代码来检查给定目录的当前用户是否具有在该目录中创建文件的权限吗?
简而言之,我想检查当前用户是否具有给定文件夹名称的文件创建和文件夹创建权限。
需要这样的代码的原因是来自“经过Windows Vista认证”的程序的第3个测试用例,其中规定:
应用程序不得允许最低特权用户将任何文件保存到Windows系统目录中,以通过此测试用例。
这是否应理解为“应用程序可以尝试将文件保存在Windows系统目录中,但不应在失败时崩溃?”还是“应用程序必须在尝试保存文件之前执行安全检查?”