diff options
author | Michael Adam <obnox@samba.org> | 2012-11-23 01:35:30 +0100 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2012-12-03 08:48:25 +0100 |
commit | 46f2dfa7a51487e1b21c329dfb2e4cac3e6ada11 (patch) | |
tree | 2c44d63aa1f064c9197d5bd1fa92e4d130b41aa8 /selftest | |
parent | 11ca06338670c3aa1ad6928232f2c582116f42e8 (diff) | |
download | samba-46f2dfa7a51487e1b21c329dfb2e4cac3e6ada11.tar.gz samba-46f2dfa7a51487e1b21c329dfb2e4cac3e6ada11.tar.bz2 samba-46f2dfa7a51487e1b21c329dfb2e4cac3e6ada11.zip |
selftest:Samba3: provision the BUILTIN\Users group if the environment runs winbindd
Note that in order to create a local group (alias), the id-allocator of
id-mapping is needed, so this can only work if winbindd is running.
Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Diffstat (limited to 'selftest')
-rwxr-xr-x | selftest/target/Samba3.pm | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm index 99f126c96d..ea2e21d6f3 100755 --- a/selftest/target/Samba3.pm +++ b/selftest/target/Samba3.pm @@ -1158,6 +1158,30 @@ sub wait_for_start($$$$$) return 1; } + if ($winbindd eq "yes") { + # note: creating builtin groups requires winbindd for the + # unix id allocator + $ret = system("WINBINDD_SOCKET_DIR=" . $envvars->{WINBINDD_SOCKET_DIR} . " " . Samba::bindir_path($self, "net") ." $envvars->{CONFIGURATION} sam createbuiltingroup Users"); + if ($ret != 0) { + print "Failed to create BUILTIN\\Users group\n"; + return 0; + } + my $count = 0; + do { + system(Samba::bindir_path($self, "net") . " $envvars->{CONFIGURATION} cache flush"); + $ret = system("WINBINDD_SOCKET_DIR=" . $envvars->{WINBINDD_SOCKET_DIR} . " " . Samba::bindir_path($self, "wbinfo") . " --sid-to-gid=S-1-5-32-545"); + if ($ret != 0) { + sleep(2); + } + $count++; + } while ($ret != 0 && $count < 10); + if ($count == 10) { + print "WINBINDD not reachable after 20 seconds\n"; + teardown_env($self, $envvars); + return 0; + } + } + print $self->getlog_env($envvars); return 1; |