diff options
-rw-r--r-- | packaging/RedHat/samba.spec.tmpl | 1 | ||||
-rw-r--r-- | source/rpc_server/srv_eventlog_nt.c | 7 |
2 files changed, 8 insertions, 0 deletions
diff --git a/packaging/RedHat/samba.spec.tmpl b/packaging/RedHat/samba.spec.tmpl index f9c4fcfbfa9..004f57cf522 100644 --- a/packaging/RedHat/samba.spec.tmpl +++ b/packaging/RedHat/samba.spec.tmpl @@ -437,6 +437,7 @@ fi %{prefix}/bin/smbtree %attr(755,root,root) /lib/libnss_wins.s* %attr(755,root,root) %{prefix}/lib/samba/vfs/*.so +%attr(755,root,root) %{prefix}/lib/samba/auth/*.so %attr(755,root,root) %{prefix}/lib/samba/charset/*.so %attr(755,root,root) %{prefix}/lib/samba/idmap/*.so #%attr(755,root,root) %{prefix}/lib/samba/pdb/*.so diff --git a/source/rpc_server/srv_eventlog_nt.c b/source/rpc_server/srv_eventlog_nt.c index 577ec48482a..5901f68f521 100644 --- a/source/rpc_server/srv_eventlog_nt.c +++ b/source/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, |