bin/ius-dav-htuseradd
branchfoerste
changeset 16 44cdd9d6fd8c
parent 8 f5e94db98601
child 25 8934ba3404bc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bin/ius-dav-htuseradd	Fri Jul 15 10:28:04 2011 +0200
@@ -0,0 +1,48 @@
+#!/usr/bin/perl
+
+#    Copyright (C) 2011  Matthias Förste
+#
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU General Public License as published by
+#    the Free Software Foundation, either version 3 of the License, or
+#    (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+#    Matthias Förste <foerste@schlittermann.de>
+
+use strict;
+use warnings;
+
+use Ius::Dav::Htpasswd qw(mkpasswd readconfig useradd usage);
+
+use Getopt::Long;
+use Pod::Usage;
+
+my ($user, $expiry, $pass);
+
+GetOptions(
+    'u|user=s' => \$user,
+    'e|expiry=i' => \$expiry,
+    'h|help' => sub { usage(-exit => 0, -verbose => 1) },
+    'm|man'  => sub {
+        usage(
+            -exit => 0,
+
+            # "system('perldoc -V &>/dev/null')" appears shorter, but may not
+            # do what you expect ( it still returns 0 on debian squeeze with
+            # dash as system shell even if cannot find the command in $PATH)
+            -noperldoc => system('perldoc -V >/dev/null 2>&1'),
+            -verbose   => 2
+        );
+    },
+) and defined $user or usage;
+
+$pass = useradd readconfig, $user, mkpasswd, $expiry;
+print "[$pass]\n";