diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/rpc_server/srv_eventlog_nt.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/source3/rpc_server/srv_eventlog_nt.c b/source3/rpc_server/srv_eventlog_nt.c index 577ec48482..5901f68f52 100644 --- a/source3/rpc_server/srv_eventlog_nt.c +++ b/source3/rpc_server/srv_eventlog_nt.c @@ -88,6 +88,13 @@ static BOOL elog_check_access( EVENTLOG_INFO *info, NT_USER_TOKEN *token ) return False; } + /* root free pass */ + + if ( geteuid() == sec_initial_uid() ) { + DEBUG(5,("elog_check_access: using root's token\n")); + token = get_root_nt_token(); + } + /* run the check, try for the max allowed */ ret = se_access_check( sec_desc, token, MAXIMUM_ALLOWED_ACCESS, |