Windows 文件权限和属性

pre*_*lic 16 windows permissions

我对整个 Windows 文件安全方案有些困惑。我来自unix背景,所以我不完全理解文件权限/安全设置和属性之间的关系;特别是只读的,文件可以有。

例如,如果我以管理员身份登录我的盒子,并且我有一个允许管理员完全控制的文件,但设置了只读属性,这意味着我无法写入该文件吗?除了删除我可以写入我应该完全控制的文件的只读属性之外,还有什么方法吗?如果没有,如果您没有真正拥有完全控制权,那么拥有完全控制权有什么好处?

MDM*_*rra 16

文件权限决定了您对文件的访问权限 - 就像听起来一样。完全控制允许您创建、删除、追加、更改权限、更改属性等。

文件和文件夹可以有额外的属性,就像大多数 *nix 文件系统上的文件一样。“隐藏”是两个平台上的一个例子。

在 Windows 上,一些附加属性包括系统、只读、存档、加密和压缩。当您拥有完全控制权(或修改)时,您就可以更改这些属性,但正如您所发现的,只读文件是只读的,即使对于拥有完全控制权的人也是如此。虽然完全控制使您能够更改文件的属性,但它不会自动覆盖它们,就像ls在 *nix 上默认情况下不会向 root 用户显示隐藏文件一样。

  • 我没有说“隐藏”是任何地方的 NTFS 功能,但“隐藏”肯定是您可以在文件或文件夹上设置的属性。我真的不知道你想表达的意思是什么。 (6认同)

Gre*_*kew 5

权限是一种安全控制。无论尝试操作的安全主体如何,属性都适用。

有比您在命令提示符下看到的更多的属性。这些包括文件是否为链接、加密、目录(一种文件)和完整性(低、中或高)。

文件属性常量
http://msdn.microsoft.com/en-us/library/windows/desktop/gg258117%28v=vs.85%29.aspx

FILE_ATTRIBUTE_ARCHIVE 32 (0x20)

作为归档文件或目录的文件或目录。应用程序通常使用此属性来标记要备份或删除的文件。

FILE_ATTRIBUTE_COMPRESSED 2048 (0x800)

压缩的文件或目录。对于文件,文件中的所有数据都被压缩。对于目录,压缩是新创建的文件和子目录的默认设置。

FILE_ATTRIBUTE_DEVICE 64 (0x40)

该值保留供系统使用。

FILE_ATTRIBUTE_DIRECTORY 16 (0x10)

标识目录的句柄。

FILE_ATTRIBUTE_ENCRYPTED 16384 (0x4000)

加密的文件或目录。对于文件,文件中的所有数据流都是加密的。对于目录,加密是新创建的文件和子目录的默认设置。

FILE_ATTRIBUTE_HIDDEN2 (0x2) 文件或目录被隐藏。它不包含在普通目录列表中。

FILE_ATTRIBUTE_INTEGRITY_STREAM 32768 (0x8000)

目录或用户数据流配置为完整性(仅在 ReFS 卷上受支持)。它不包含在普通目录列表中。如果文件被重命名,完整性设置将保留在文件中。如果文件被复制,则如果源文件或目标目录具有完整性设置,则目标文件将具有完整性设置。

Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP:直到 Windows Server 2012 才支持此标志。

FILE_ATTRIBUTE_NORMAL 128 (0x80)

没有设置其他属性的文件。此属性仅在单独使用时有效。

FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 8192 (0x2000)

文件或目录不会被内容索引服务索引。

FILE_ATTRIBUTE_NO_SCRUB_DATA 131072 (0x20000)

后台数据完整性扫描器(AKA 清理器)不读取的用户数据流。当在目录上设置时,它只提供继承。此标志仅在存储空间和 ReFS 卷上受支持。它不包含在普通目录列表中。

Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP:直到 Windows 8 和 Windows Server 2012 才支持此标志。

FILE_ATTRIBUTE_OFFLINE 4096 (0x1000)

文件的数据不是立即可用的。该属性表示文件数据物理移动到离线存储。该属性供分层存储管理软件 Remote Storage 使用。应用程序不应随意更改此属性。

FILE_ATTRIBUTE_READONLY 1 (0x1)

只读文件。应用程序可以读取文件,但不能写入或删除它。目录不支持此属性。有关详细信息,请参阅您无法查看或更改 Windows Server 2003、Windows XP、Windows Vista 或 Windows 7 中文件夹的只读或系统属性。

FILE_ATTRIBUTE_REPARSE_POINT 1024 (0x400)

具有关联重解析点的文件或目录,或者是符号链接的文件。

FILE_ATTRIBUTE_SPARSE_FILE 512 (0x200)

稀疏文件的文件。

FILE_ATTRIBUTE_SYSTEM 4 (0x4)

操作系统使用一部分或专门使用的文件或目录。

FILE_ATTRIBUTE_TEMPORARY 256 (0x100)

用于临时存储的文件。如果有足够的缓存可用,文件系统会避免将数据写回大容量存储,因为通常,应用程序会在句柄关闭后删除临时文件。在这种情况下,系统可以完全避免写入数据。否则,在句柄关闭后写入数据。

FILE_ATTRIBUTE_VIRTUAL 65536 (0x10000)

该值保留供系统使用。