summaryrefslogtreecommitdiff
path: root/scripts/create-kdc-principal.pl
blob: a88c96ce52d2a557a27459239b064cd43b434389 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/env perl

use Heimdal::Kadm5 qw(/KADM5_/);

$client = Heimdal::Kadm5::Client->new('RaiseErrors'=>1,'Principal'=>'shibboleth-idp@NORDU.NET',Keytab=>'/opt/keytabs/pwman.keytab');
my $line = <STDIN>;
my ($user,$pass) = split('\s+',$line);
die "Missing parameters on stdin\n" unless ($user and $pass);
my ($local,$domain) = split('\@',$user);

my $pn = "$local\@NORDU.NET";
my $p = $client->getPrincipal($pn);
unless ($p) {
   $p = $client->makePrincipal($pn);
   $client->createPrincipal($p,$pass);
} else {
   $client->changePassword($pn,$pass);
}