bin/ius-dav-htuseradd
changeset 37 fee44892ca1e
parent 28 9d0a1a1b70a7
child 57 2b8cf6a91d0b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bin/ius-dav-htuseradd	Tue Jul 19 09:08:12 2011 +0200
@@ -0,0 +1,50 @@
+#!/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";