X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=bin%2Fmapsecrets2access_user;h=d632360f56a3716b3e2c674db0ac1a1f1ac3075f;hp=934cd76983eb265f0f1d03123836efd34cf2a591;hb=ea3ce8d7f076e7fecff4be7ae63bc413adb0adf5;hpb=64a57a198d5046a458ea2bdc1d34fbc4682f3292 diff --git a/bin/mapsecrets2access_user b/bin/mapsecrets2access_user index 934cd7698..d632360f5 100755 --- a/bin/mapsecrets2access_user +++ b/bin/mapsecrets2access_user @@ -3,6 +3,7 @@ use strict; use File::Copy "cp"; use FS::UID qw(adminsuidsetup); +use FS::CurrentUser; use FS::AccessRight; use FS::Record qw(qsearchs qsearch); use FS::access_group; @@ -12,7 +13,9 @@ use FS::access_right; use FS::access_groupagent; use FS::agent; -adminsuidsetup shift; +$FS::CurrentUser::upgrade_hack = 1; +my $user = shift or die &usage; +adminsuidsetup $user; my $supergroup = qsearchs('access_group', { 'groupname' => 'Superuser' } ); unless ( $supergroup ) { @@ -21,7 +24,7 @@ unless ( $supergroup ) { my $error = $supergroup->insert; die $error if $error; - foreach my $rightname ( FS::AccessRight->rights ) { + foreach my $rightname ( FS::AccessRight->default_superuser_rights ) { my $access_right = new FS::access_right { 'righttype' => 'FS::access_group', 'rightobjnum' => $supergroup->groupnum, @@ -43,8 +46,10 @@ unless ( $supergroup ) { } my $supergroupnum = $supergroup->groupnum; -my $mapsecrets = '/usr/local/etc/freeside/mapsecrets'; -open(MAPSECRETS, "<$mapsecrets"); +my $conf = new FS::Conf; +my $dir = $conf->base_dir; +my $mapsecrets = "$dir/mapsecrets"; +open(MAPSECRETS, "<$mapsecrets") or die "Can't open $mapsecrets: $!"; while () { /([\w]+)\s+secrets\s*$/ or die "unparsable line in mapsecrets: $_"; my $username = $1; @@ -68,9 +73,15 @@ while () { die $aug_error if $aug_error; } +close MAPSECRETS; # okay to clobber mapsecrets now i guess cp $mapsecrets, "$mapsecrets.bak$$"; -open(MAPSECRETS, ">$mapsecrets"); +open(MAPSECRETS, ">$mapsecrets") or die $!; print MAPSECRETS '* secrets'. "\n"; -close MAPSECRETS; +close MAPSECRETS or die $!; + +sub usage { + die "Usage:\n mapsecrets2access_user user\n"; +} +