diff options
Diffstat (limited to 'FS/bin/freeside-adduser')
-rw-r--r-- | FS/bin/freeside-adduser | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/FS/bin/freeside-adduser b/FS/bin/freeside-adduser deleted file mode 100644 index b955902ba..000000000 --- a/FS/bin/freeside-adduser +++ /dev/null @@ -1,115 +0,0 @@ -#!/usr/bin/perl -w - -use strict; -use vars qw($opt_s $opt_h $opt_b $opt_c $opt_g $opt_n); -use Fcntl qw(:flock); -use Getopt::Std; - -my $FREESIDE_CONF = "/usr/local/etc/freeside"; - -getopts("s:bch:g:n"); -die &usage if $opt_c && ! $opt_h; -my $user = shift or die &usage; - -#if ( -e "$FREESIDE_CONF/mapsecrets" ) { -# open(MAPSECRETS,"<$FREESIDE_CONF/mapsecrets") -# or die "can't open $FREESIDE_CONF/mapsecrets: $!"; -# while (<MAPSECRETS>) { -# /^(\S+) / or die "unparsable line in mapsecrets: $_"; -# die "user $user already exists\n" if $user eq $1; -# } -# close MAPSECRETS; -#} - -if ( $opt_h ) { - my @args = ( 'htpasswd' ); - push @args, '-b' if $opt_b; - push @args, '-c' if $opt_c; - push @args, $opt_h, $user; - push @args, shift if $opt_b; - #warn join(', ', @args)."\n"; - system(@args) == 0 or die "htpasswd failed: $?"; -} - -if ( $opt_s ) { - open(MAPSECRETS,">>$FREESIDE_CONF/mapsecrets") - and flock(MAPSECRETS,LOCK_EX) - or die "can't open $FREESIDE_CONF/mapsecrets: $!"; - print MAPSECRETS "$user $opt_s\n"; - close MAPSECRETS or die "can't close $FREESIDE_CONF/mapsecrets: $!"; -} - -### - -exit if $opt_n; - -### - -use FS::UID qw(adminsuidsetup); -use FS::CurrentUser; -use FS::access_user; -use FS::access_usergroup; - -$FS::CurrentUser::upgrade_hack = 1; -#adminsuidsetup $rootuser; -adminsuidsetup $user; - -my $access_user = new FS::access_user { - 'username' => $user, - '_password' => 'notyet', - 'first' => 'Firstname', # $opt_f || - 'last' => 'Lastname', # $opt_l || -}; -my $au_error = $access_user->insert; -die $au_error if $au_error; - -if ( $opt_g ) { - - my $access_usergroup = new FS::access_usergroup { - 'usernum' => $access_user->usernum, - 'groupnum' => $opt_g, - }; - my $aug_error = $access_usergroup->insert; - die $aug_error if $aug_error; - -} - -### - -sub usage { - die "Usage:\n\n freeside-adduser [ -h htpasswd_file [ -c ] [ -b ] ] [ -g groupnum ] username [ password ]" -} - -=head1 NAME - -freeside-adduser - Command line interface to add (freeside) users. - -=head1 SYNOPSIS - - freeside-adduser [ -n ] [ -h htpasswd_file [ -c ] [ -b ] ] [ -g groupnum ] username [ password ] - -=head1 DESCRIPTION - -Adds a user to the Freeside billing system. This is for adding users (internal -sales/tech folks) to the web interface, not for adding customer accounts. - - -h: Also call htpasswd for this user with the given filename - - -c: Passed to htpasswd(1) - - -b: same as htpasswd(1), probably insecure, not recommended - - -g: initial groupnum - - Development/multi-DB options: - - -s: alternate secrets file - - -n: no ACL added, for bootstrapping - -=head1 SEE ALSO - -L<htpasswd>(1), base Freeside documentation - -=cut - |