158 lines
5.1 KiB
C
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_
|