# sys.acl 库模块帮助文档

## sys.acl 成员列表 <a id="sys.acl" href="#sys.acl">&#x23;</a>

系统用户访问权限控制接口。  
管理文件权限应当改用 fsys.acl 库。

### sys.acl.daclGrant(sid,objName,objType,trusteeType,premissions) <a id="sys.acl.daclGrant" href="#sys.acl.daclGrant">&#x23;</a>
对@objName指定名称的对象获取@sid指定用户的@premissions参数指定的权限,  
@objType可省略，默认值为_SE_FILE_OBJECT,  
其他参数请参考函数源码与MSDN

### sys.acl.daclGrantAdmin(objName,objType,premissions) <a id="sys.acl.daclGrantAdmin" href="#sys.acl.daclGrantAdmin">&#x23;</a>
对@objName指定名称的对象获取管理员用户组的@premissions参数

### sys.acl.daclGrantEveryone(objName,objType,premissions) <a id="sys.acl.daclGrantEveryone" href="#sys.acl.daclGrantEveryone">&#x23;</a>
对@objName指定名称的对象获取Everyone用户的@premissions参数指定的权限

### sys.acl.getUserName() <a id="sys.acl.getUserName" href="#sys.acl.getUserName">&#x23;</a>
返回当前系统用户名

### sys.acl.sidAdmin() <a id="sys.acl.sidAdmin" href="#sys.acl.sidAdmin">&#x23;</a>
创建SID，返回管理员用户组SID句柄

### sys.acl.sidCreate(identifierAuthority,...) <a id="sys.acl.sidCreate" href="#sys.acl.sidCreate">&#x23;</a>
创建 SID，返回SID句柄  
参数@1使用数值数组指定SID_IDENTIFIER_AUTHORITY结构体的值,  
后续可使用1到8个参数指定SID子权限

### sys.acl.sidEveryone() <a id="sys.acl.sidEveryone" href="#sys.acl.sidEveryone">&#x23;</a>
创建SID，返回Everyone用户SID句柄

### sys.acl.sidFromString(sidStr) <a id="sys.acl.sidFromString" href="#sys.acl.sidFromString">&#x23;</a>
参数传入文本格式SID,  
返回SID内存句柄

### sys.acl.sidFromUserName(userName,systemName) <a id="sys.acl.sidFromUserName" href="#sys.acl.sidFromUserName">&#x23;</a>
参数@userName传入系统用户名,,省略取当前登录用户名,  
@systemName参数可省略,  
返回SID内存句柄

### sys.acl.sidStringFromUserName(userName,systemName) <a id="sys.acl.sidStringFromUserName" href="#sys.acl.sidStringFromUserName">&#x23;</a>
参数@userName传入系统用户名,省略取当前登录用户名  
@systemName参数可省略,  
返回文本格式SID

### sys.acl.sidStringToUserName(sidStr,systemName) <a id="sys.acl.sidStringToUserName" href="#sys.acl.sidStringToUserName">&#x23;</a>
参数传入文本格式 SID，@systemName 参数可省略。  
返回账户名，账户所在域名，账户类型（SID_NAME_USE 枚举）

### sys.acl.sidToString(sid) <a id="sys.acl.sidToString" href="#sys.acl.sidToString">&#x23;</a>
参数传入SID句柄,  
返回SID文本格式字符串

### sys.acl.sidToUserName(sid,systemName) <a id="sys.acl.sidToUserName" href="#sys.acl.sidToUserName">&#x23;</a>
参数传入SID，@systemName参数可省略。  
返回账户名，账户所在域名，账户类型（SID_NAME_USE 枚举）

### sys.acl.sidWellKnown(sidType,domainSid) <a id="sys.acl.sidWellKnown" href="#sys.acl.sidWellKnown">&#x23;</a>
获取通用SID,  
参数@1参考::Advapi32.CreateWellKnownSid函数说明  
参数@2可省略,  
返回buffer对象不需要释放

### sys.acl.takeOwnByAdmin(objName,objType) <a id="sys.acl.takeOwnByAdmin" href="#sys.acl.takeOwnByAdmin">&#x23;</a>
对objName指定名称的对象获取管理员用户组的所有者权限,\@nobjType可省略，默认值为_SE_FILE_OBJECT

### sys.acl.takeOwnBySid(sid,objName,objType) <a id="sys.acl.takeOwnBySid" href="#sys.acl.takeOwnBySid">&#x23;</a>
对@objName指定名称的对象获取sid指定用户的所有者权限,  
sid应当是sid句柄或内存指针,  
@objType可省略，默认值为_SE_FILE_OBJECT

### sys.acl.takeOwnBySidString(sid,objName,objType) <a id="sys.acl.takeOwnBySidString" href="#sys.acl.takeOwnBySidString">&#x23;</a>
对@objName指定名称的对象获取@sid指定用户的所有者权限,  
@si参数指定文本格式SID,注意不是内存指针或句柄,  
@objType可省略，默认值为_SE_FILE_OBJECT

### sys.acl.takeOwnByUserName(userName,objName,objType) <a id="sys.acl.takeOwnByUserName" href="#sys.acl.takeOwnByUserName">&#x23;</a>
对@objName指定名称的对象获取@userName参数指定用户的所有者权限,  
@objType可省略，默认值为_SE_FILE_OBJECT
