#!/usr/bin/perl -w
#------------------------------------------------------------
#This action creates standard domain administrator accounts
#for the SME Server
#
#Copyright 2014 Koozali Foundation, Inc.
#11/15/2014: G.Zartman <gzartman@koozali.org>
#
#The code contained herein can be distributed under the same
#license as Perl
#------------------------------------------------------------


use strict;
use warnings;
use esmith::ConfigDB;

##Pull arguments
my $event = $ARGV [0];
my $AdminPass = $ARGV [1];

die 'Samba provisioning error: Missing admin password' unless ($AdminPass);

##Bail if called by bootstrap-initialize-samba and it has already been run
##
my $cdb = esmith::ConfigDB->open;
if ($event eq 'bootstrap-initialize-samba' && 
    $cdb->get_prop('bootstrap-console','Samba') eq 'initialized') {
    exit();
}

##Set admin samba accounts and add to Domain Admin
my $add_admin = "/usr/bin/samba-tool user create " .
                "admin $AdminPass " .
                "-U Administrator\%$AdminPass";
system ($add_admin);

warn "Unable create admin Samba user\n" if ($? == -1);


my $add_root = "/usr/bin/samba-tool user create " .
               "root $AdminPass " .
               "-U Administrator\%$AdminPass"; 
system ($add_root);
warn "Unable to create root Samba user\n" if ($? == -1);

my $add_members = "/usr/bin/samba-tool group addmembers " .
                  "\'Domain Admins\' ".
                  "root,admin " .
                  "-U Administrator\%$AdminPass";
system ($add_members);
warn "Unable to add admin and root users to Domain Admins group\n" if ($? == -1);

1;
