summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2005-10-19 02:50:45 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 11:05:05 -0500
commit39be2680e008931ff8372a978ac2d8d705c5e03a (patch)
tree67d0015fdfb35c523a917105ba53734891b78e48
parentdc4a569e7e49151e47893759b04948a0a61c2744 (diff)
downloadsamba-39be2680e008931ff8372a978ac2d8d705c5e03a.tar.gz
samba-39be2680e008931ff8372a978ac2d8d705c5e03a.tar.bz2
samba-39be2680e008931ff8372a978ac2d8d705c5e03a.zip
r11170: root free pass on eventlog open access check
(This used to be commit 4e3ff41e1ee2e3c323814fd8c6aa44ecab412257)
-rw-r--r--packaging/RedHat/samba.spec.tmpl1
-rw-r--r--source3/rpc_server/srv_eventlog_nt.c7
2 files changed, 8 insertions, 0 deletions
diff --git a/packaging/RedHat/samba.spec.tmpl b/packaging/RedHat/samba.spec.tmpl
index f9c4fcfbfa..004f57cf52 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/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,