Java 在linux中,windows acl权限等同于600权限是什么
我正在尝试编写等效的java代码,用于在Windows中为文件设置600权限。以下是我正在使用的方法:Java 在linux中,windows acl权限等同于600权限是什么,java,windows,permissions,Java,Windows,Permissions,我正在尝试编写等效的java代码,用于在Windows中为文件设置600权限。以下是我正在使用的方法: acl.setPermissions(EnumSet.of( AclEntryPermission.READ_DATA, AclEntryPermission.WRITE_DATA, AclEntryPermission.WRITE_ATTRIBUTES, AclEntryPermission.SYNCHRONIZE, AclEntryPermi
acl.setPermissions(EnumSet.of(
AclEntryPermission.READ_DATA, AclEntryPermission.WRITE_DATA, AclEntryPermission.WRITE_ATTRIBUTES,
AclEntryPermission.SYNCHRONIZE, AclEntryPermission.WRITE_NAMED_ATTRS, AclEntryPermission.APPEND_DATA
));
我试图仅使用acentrypermission.READ\u DATA
和acentrypermission.WRITE\u DATA
创建文件,但出现访问被拒绝错误。
除非我添加上面方法中列出的其他参数,否则不会创建文件
有人能给我简要介绍一下或者给我指一个解释其他属性的资源吗(我试着在谷歌上搜索,但我只得到一行解释属性的oracle文档链接)
另外,请告诉我是否需要从
acentrypermission
enum添加任何其他参数。32位访问掩码分为通用、系统、标准和特定权限。Unix RWX的基本等价物是GENERIC\u READ
(GR)、GENERIC\u WRITE
(GW)和GENERIC\u EXECUTE
(GE)。除了您所拥有的之外,通用访问还包括READ\u CONTROL
(JavaREAD\u ACL
)。对于文件访问,它还包括同步
,GR包括文件读取属性
(Java读取属性
)和文件读取属性
(Java读取属性
)。WINAPICreateFileW
始终请求至少SYNCHRONIZE | FILE_READ_属性
访问,而大多数其他请求至少SYNCHRONIZE
访问。此外,与Unix不同,Windows中的删除访问不受对父目录的写访问控制<代码>删除access允许删除单个文件或目录FILE\u DELETE\u CHILD
(JavaDELETE\u CHILD
)对目录的访问允许删除其直接文件和目录,但不允许删除子目录的后代<代码>删除,写入所有者
,写入DAC
访问通常包括在通用所有
(GA)访问中,对于文件GA还包括文件删除子
访问。这通常称为“完全控制”。您没有指定设置此项的安全主体,但在Windows Vista和更高版本中设置所有者权限的等效安全主体是“所有者权限”。请注意,分配显式所有者权限会覆盖所有者的隐式WRITE\u DAC
访问(JavaWRITE\u ACL
),因此如果应允许所有者修改权限,请确保包含此权限。还包括您认为合适的其他通用所有访问权限,例如写入所有者
、删除
、和文件删除子项
(Java删除子项
)。此外,如果文件的创建者是提升或非限制管理员,默认情况下,文件所有者是“管理员”组。在这种情况下,“所有者权限”影响所有管理员,并且在当前用户未提升时不适用,除非它是拒绝条目。对于在管理员安全上下文中创建的文件(例如通过sudo
在Unix中将文件创建为“root”)来说,这可能是理想的结果,但这可能是偶然的。如果当前用户应该始终具有访问权限,请确保在这种情况下更改所有者,或者为用户添加一个条目。@ErykSun感谢您的回复。因此,如果我添加Read\u ACL
,Read\u属性
,Read\u命名为\u ATTRS
,它是否等同于典型的600权限?(不包括您在我将研究的其他要点中提到的所有者和删除权限)32位访问掩码分为通用、系统、标准和特定权限。Unix RWX的基本等价物是GENERIC\u READ
(GR)、GENERIC\u WRITE
(GW)和GENERIC\u EXECUTE
(GE)。除了您所拥有的之外,通用访问还包括READ\u CONTROL
(JavaREAD\u ACL
)。对于文件访问,它还包括同步
,GR包括文件读取属性
(Java读取属性
)和文件读取属性
(Java读取属性
)。WINAPICreateFileW
始终请求至少SYNCHRONIZE | FILE_READ_属性
访问,而大多数其他请求至少SYNCHRONIZE
访问。此外,与Unix不同,Windows中的删除访问不受对父目录的写访问控制<代码>删除access允许删除单个文件或目录FILE\u DELETE\u CHILD
(JavaDELETE\u CHILD
)对目录的访问允许删除其直接文件和目录,但不允许删除子目录的后代<代码>删除,写入所有者
,写入DAC
访问通常包括在通用所有
(GA)访问中,对于文件GA还包括文件删除子
访问。这通常称为“完全控制”。您没有指定设置此项的安全主体,但在Windows Vista和更高版本中设置所有者权限的等效安全主体是“所有者权限”。请注意,分配显式所有者权限会覆盖所有者的隐式WRITE\u DAC
访问(JavaWRITE\u ACL
),因此如果应允许所有者修改权限,请确保包含此权限。还包括您认为合适的其他通用所有访问权限,例如写入所有者
、删除
、和文件删除子项
(Java删除子项
)。此外,如果文件的创建者是提升或非限制管理员,默认情况下,文件所有者是“管理员”组。在这种情况下,“所有者权限”影响所有管理员,并且在当前用户未提升时不适用,除非它是拒绝条目。对于在管理员安全上下文中创建的文件(例如通过sudo
在Unix中将文件创建为“root”)来说,这可能是理想的结果,但这可能是偶然的。如果