windows-nt/Source/XPSP1/NT/ds/netapi/svcdlls/srvsvc/server/sssec.h
2020-09-26 16:20:57 +08:00

158 lines
5.1 KiB
C

/*++
Copyright (c) 1991 Microsoft Corporation
Module Name:
SsSec.h
Abstract:
Manifests for API security in the server service.
Author:
David Treadwell (davidtr) 28-Aug-1991
Revision History:
--*/
#ifndef _SSSEC_
#define _SSSEC_
//
// Structure that holds all security information for a single server
// service security object.
//
typedef struct _SRVSVC_SECURITY_OBJECT {
LPTSTR ObjectName;
PGENERIC_MAPPING Mapping;
PSECURITY_DESCRIPTOR SecurityDescriptor;
} SRVSVC_SECURITY_OBJECT, *PSRVSVC_SECURITY_OBJECT;
//
// Security objects used by the server service.
//
extern SRVSVC_SECURITY_OBJECT SsConfigInfoSecurityObject;
extern SRVSVC_SECURITY_OBJECT SsTransportEnumSecurityObject;
extern SRVSVC_SECURITY_OBJECT SsConnectionSecurityObject;
extern SRVSVC_SECURITY_OBJECT SsDiskSecurityObject;
extern SRVSVC_SECURITY_OBJECT SsFileSecurityObject;
extern SRVSVC_SECURITY_OBJECT SsSessionSecurityObject;
extern SRVSVC_SECURITY_OBJECT SsShareFileSecurityObject;
extern SRVSVC_SECURITY_OBJECT SsSharePrintSecurityObject;
extern SRVSVC_SECURITY_OBJECT SsShareAdminSecurityObject;
extern SRVSVC_SECURITY_OBJECT SsShareConnectSecurityObject;
extern SRVSVC_SECURITY_OBJECT SsShareAdmConnectSecurityObject;
extern SRVSVC_SECURITY_OBJECT SsStatisticsSecurityObject;
extern SRVSVC_SECURITY_OBJECT SsDefaultShareSecurityObject;
//
// Object type names for audit alarm tracking.
//
#define SRVSVC_CONFIG_INFO_OBJECT TEXT( "SrvsvcConfigInfo" )
#define SRVSVC_TRANSPORT_INFO_OBJECT TEXT( "SrvsvcTransportEnum" )
#define SRVSVC_CONNECTION_OBJECT TEXT( "SrvsvcConnection" )
#define SRVSVC_DISK_OBJECT TEXT( "SrvsvcServerDiskEnum" )
#define SRVSVC_FILE_OBJECT TEXT( "SrvsvcFile" )
#define SRVSVC_SESSION_OBJECT TEXT( "SrvsvcSessionInfo" )
#define SRVSVC_SHARE_FILE_OBJECT TEXT( "SrvsvcShareFileInfo" )
#define SRVSVC_SHARE_PRINT_OBJECT TEXT( "SrvsvcSharePrintInfo" )
#define SRVSVC_SHARE_ADMIN_OBJECT TEXT( "SrvsvcShareAdminInfo" )
#define SRVSVC_SHARE_CONNECT_OBJECT TEXT( "SrvsvcShareConnect" )
#define SRVSVC_SHARE_ADM_CONNECT_OBJECT TEXT( "SrvsvcShareAdminConnect" )
#define SRVSVC_STATISTICS_OBJECT TEXT( "SrvsvcStatisticsInfo" )
#define SRVSVC_DEFAULT_SHARE_OBJECT TEXT( "SrvsvcDefaultShareInfo" )
//
// Access masks for configuration information (NetServer{Get,Set}Info).
//
#define SRVSVC_CONFIG_USER_INFO_GET 0x0001
#define SRVSVC_CONFIG_POWER_INFO_GET 0x0002
#define SRVSVC_CONFIG_ADMIN_INFO_GET 0x0004
#define SRVSVC_CONFIG_INFO_SET 0x0010
#define SRVSVC_CONFIG_ALL_ACCESS ( STANDARD_RIGHTS_REQUIRED | \
SRVSVC_CONFIG_USER_INFO_GET | \
SRVSVC_CONFIG_POWER_INFO_GET | \
SRVSVC_CONFIG_ADMIN_INFO_GET | \
SRVSVC_CONFIG_INFO_SET )
//
// Access masks for connection information (NetConnectionEnum).
//
#define SRVSVC_CONNECTION_INFO_GET 0x0001
#define SRVSVC_CONNECTION_ALL_ACCESS ( STANDARD_RIGHTS_REQUIRED | \
SRVSVC_CONNECTION_INFO_GET )
//
// Access masks for disk information (NetServerDiskEnum).
//
#define SRVSVC_DISK_ENUM 0x0001
#define SRVSVC_DISK_ALL_ACCESS ( STANDARD_RIGHTS_REQUIRED | \
SRVSVC_DISK_ENUM )
//
// Access masks for file information (NetFileEnum, NetFileGetInfo,
// NetFileClose).
//
#define SRVSVC_FILE_INFO_GET 0x0001
#define SRVSVC_FILE_CLOSE 0x0010
#define SRVSVC_FILE_ALL_ACCESS ( STANDARD_RIGHTS_REQUIRED | \
SRVSVC_FILE_INFO_GET | \
SRVSVC_FILE_CLOSE )
//
// Access masks for session information (NetSessionEnum,
// NetSessionGetInfo, NetSessionDel).
//
#define SRVSVC_SESSION_USER_INFO_GET 0x0001
#define SRVSVC_SESSION_ADMIN_INFO_GET 0x0002
#define SRVSVC_SESSION_DELETE 0x0010
#define SRVSVC_SESSION_ALL_ACCESS ( STANDARD_RIGHTS_REQUIRED | \
SRVSVC_SESSION_USER_INFO_GET | \
SRVSVC_SESSION_ADMIN_INFO_GET | \
SRVSVC_SESSION_DELETE )
//
// Access masks for share information (NetShareAdd, NetShareDel,
// NetShareEnum, NetShareGetInfo, NetShareCheck, NetShareSetInfo).
//
// Access masks for connecting to shares are defined in srvfsctl.h,
// since they must be shared between the server and server service.
//
#define SRVSVC_SHARE_USER_INFO_GET 0x0001
#define SRVSVC_SHARE_ADMIN_INFO_GET 0x0002
#define SRVSVC_SHARE_INFO_SET 0x0010
#define SRVSVC_SHARE_ALL_ACCESS ( STANDARD_RIGHTS_REQUIRED | \
SRVSVC_SHARE_USER_INFO_GET | \
SRVSVC_SHARE_ADMIN_INFO_GET | \
SRVSVC_SHARE_INFO_SET )
//
// Access masks for statistics information (NetStatisticsGet,
// NetStatisticsClear).
//
#define SRVSVC_STATISTICS_GET 0x0001
#define SRVSVC_STATISTICS_ALL_ACCESS ( STANDARD_RIGHTS_REQUIRED | \
SRVSVC_STATISTICS_GET )
#endif // _SSSEC_