Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在linux中,windows acl权限等同于600权限是什么_Java_Windows_Permissions - Fatal编程技术网

Java 在linux中,windows acl权限等同于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

我正在尝试编写等效的java代码,用于在Windows中为文件设置600权限。以下是我正在使用的方法:

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
(Java
READ\u ACL
)。对于文件访问,它还包括
同步
,GR包括
文件读取属性
(Java
读取属性
)和
文件读取属性
(Java
读取属性
)。WINAPI
CreateFileW
始终请求至少
SYNCHRONIZE | FILE_READ_属性
访问,而大多数其他请求至少
SYNCHRONIZE
访问。此外,与Unix不同,Windows中的删除访问不受对父目录的写访问控制<代码>删除access允许删除单个文件或目录
FILE\u DELETE\u CHILD
(Java
DELETE\u CHILD
)对目录的访问允许删除其直接文件和目录,但不允许删除子目录的后代<代码>删除,
写入所有者
写入DAC
访问通常包括在
通用所有
(GA)访问中,对于文件GA还包括
文件删除子
访问。这通常称为“完全控制”。您没有指定设置此项的安全主体,但在Windows Vista和更高版本中设置所有者权限的等效安全主体是“所有者权限”。请注意,分配显式所有者权限会覆盖所有者的隐式
WRITE\u DAC
访问(Java
WRITE\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
(Java
READ\u ACL
)。对于文件访问,它还包括
同步
,GR包括
文件读取属性
(Java
读取属性
)和
文件读取属性
(Java
读取属性
)。WINAPI
CreateFileW
始终请求至少
SYNCHRONIZE | FILE_READ_属性
访问,而大多数其他请求至少
SYNCHRONIZE
访问。此外,与Unix不同,Windows中的删除访问不受对父目录的写访问控制<代码>删除access允许删除单个文件或目录
FILE\u DELETE\u CHILD
(Java
DELETE\u CHILD
)对目录的访问允许删除其直接文件和目录,但不允许删除子目录的后代<代码>删除,
写入所有者
写入DAC
访问通常包括在
通用所有
(GA)访问中,对于文件GA还包括
文件删除子
访问。这通常称为“完全控制”。您没有指定设置此项的安全主体,但在Windows Vista和更高版本中设置所有者权限的等效安全主体是“所有者权限”。请注意,分配显式所有者权限会覆盖所有者的隐式
WRITE\u DAC
访问(Java
WRITE\u ACL
),因此如果应允许所有者修改权限,请确保包含此权限。还包括您认为合适的其他通用所有访问权限,例如
写入所有者
删除
、和
文件删除子项
(Java
删除子项
)。此外,如果文件的创建者是提升或非限制管理员,默认情况下,文件所有者是“管理员”组。在这种情况下,“所有者权限”影响所有管理员,并且在当前用户未提升时不适用,除非它是拒绝条目。对于在管理员安全上下文中创建的文件(例如通过
sudo
在Unix中将文件创建为“root”)来说,这可能是理想的结果,但这可能是偶然的。如果