diff options
author | Hideki Yamane <henrich@debian.org> | 2014-03-30 19:38:48 +0900 |
---|---|---|
committer | Hideki Yamane <henrich@debian.org> | 2014-03-30 19:38:48 +0900 |
commit | 7769a9595c3da9a35f31b42451b1f6c3ed4004fa (patch) | |
tree | 009bf8fd68af6bb1129e07dd8c1ed205010d81f8 /perl/manager/setupuser | |
parent | 2e7891b0311204e0ecd5dc4a4334df01f3a6a1b4 (diff) | |
download | pkg-net-snmp-7769a9595c3da9a35f31b42451b1f6c3ed4004fa.tar.gz |
Imported Upstream version 5.7.2~dfsg
Diffstat (limited to 'perl/manager/setupuser')
-rwxr-xr-x | perl/manager/setupuser | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/perl/manager/setupuser b/perl/manager/setupuser new file mode 100755 index 0000000..84fbcac --- /dev/null +++ b/perl/manager/setupuser @@ -0,0 +1,45 @@ +#!/usr/bin/perl + +use DBI; +$hostname = 'localhost'; # Host that serves the mSQL Database +$dbname = 'snmp'; # mySQL Database name +$doit = 1; + +sub usage { + print "$0 [-H host] [-u user] [-p password] [-v] [-h] [-n] [-d] [-a] GROUP USER EMAILADDRESS\n"; + exit 0; +} + +while ($#ARGV > -1 && $ARGV[0] =~ /^-/) { + $_ = shift @ARGV; + usage if (/-h/); + $hostname = shift if (/-H/); + $sqluser = shift if (/-u/); + $pass = shift if (/-p/); + $admin = 1 if (/-a/); + $verbose = 1 if (/-v/); + $delete = 1 if (/-d/); + $doit = 0 if (/-n/); +} + +($group, $user, $email) = @ARGV; + +die "group $group is a reserved group name, you can't use it. Sorry." if ($group eq "default"); + +die "no group specified" if (!defined($group)); + +( $dbh = DBI->connect("DBI:mysql:database=$dbname;host=$hostname", $sqluser, $pass)) + or die "\tConnect not ok: $DBI::errstr\n"; + +DO("insert into usergroups(user, groupname, isadmin) values('$user', '$group', " . (($admin) ? "'Y'" : "'N'") . ")"); +if (defined($email)) { + DO("insert into oncall(user, groupname, email, days, hours) values('$user', '$group', '$email', '*', '*')"); +} + +$dbh->disconnect(); + +sub DO { + my $cmd = shift; + print $cmd,"\n" if ($verbose); + $dbh->do($cmd) if ($doit); +} |