* Thu Jun 05 2025 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-32.sme

- Replicate user accounts to samba Active Directory [SME: 12799]
This commit is contained in:
2025-06-05 16:40:38 -04:00
parent 8615e569eb
commit 6957c1ab9c
8 changed files with 116 additions and 1 deletions

View File

@@ -28,6 +28,7 @@ use Errno;
use esmith::AccountsDB;
my $a = esmith::AccountsDB->open_ro or die "Could not open accounts db";
my $c = esmith::ConfigDB->open_ro or die "Could not open configuration db";
foreach my $u ($a->users)
{
@@ -40,6 +41,23 @@ foreach my $u ($a->users)
system("/usr/bin/smbpasswd", "-d", $user) == 0
or warn("Problem locking smbpassword for user $user\n");
my $serv = $c->get('samba') || '';
if (($serv eq 'service') && ($user ne 'administrator'))
{
my $samba = $c->get('samba')->prop('status') || 'disabled';
my $sambaip = $c->get('samba')->prop('SambaIP') || '';
my $sambapwd = $c->get('samba')->prop('Password') || '';
if ($sambaip eq '' || $sambapwd eq '')
{
$samba = 'disabled';
}
if ($samba eq 'enabled')
{
system("/usr/bin/samba-tool", "user", "disable", "$user", "-H", "ldap://$sambaip", "--username=administrator", "--password=$sambapwd") == 0
or warn("Problem locking addc password for user $user\n");
}
}
}
}