Hi James,
Thanks for sharing this!
El mar, 11-09-2007 a las 11:21 -0700, James A. Reid escribió:
> Just to add something to the community I thought I'd share my notes on adding
> my Users in bulk.
>
> I don't know any perl so I kinda hacked my way through adding multiple users
> at
> once on my 0.9.99 ebox.
>
> I used the script provided by Javier. Put it in a text file called bulkusers
> and made it executable for root in root's home directory.
> -------------
> #!/usr/bin/perl
>
> use strict; (I deleted this line)
> use warnings;
>
> use EBox;
> use EBox::Global;
>
> EBox::init();
> my $usersModule = EBox::Global->modInstance('users');
You can simply add these two lines in order not to have these errors:
my $line;
my @users;
> open(my $USERS,"users");
> while($line = <$USERS>) {
> my $user;
> my ($username,$fullname,$password) = split(',',$line);
> $user->{'user'} = $username;
> $user->{'fullname'} = $fullname;
> $user->{'password'} = $password;
> push(@users,$user);
> }
> close($USERS);
>
> foreach my $user (@users) {
> $usersModule->addUser($user, 0);
> }
>
> 1;
> -----------------
>
> Notes on this script:
> a) First I got an error message
> gatekeeper:~# ./bulkusers
> Global symbol "$line" requires explicit package name at ./bulkusers line 13.
> Global symbol "$line" requires explicit package name at ./bulkusers line 15.
> Global symbol "@users" requires explicit package name at ./bulkusers line 19.
> Global symbol "@users" requires explicit package name at ./bulkusers line 23.
> Execution of ./bulkusers aborted due to compilation errors.
>
> I deleted the "use scrict" line and it was fine then (since I didn't know
> perl
> I don't know how to declare $line and @users. I'm sure purists will be not
> happy with me)
>
> Before running the script you need to have a file called 'users' in the same
> directory. Inside the file it should look like the following:
> -------------
> jblow,Joe Blow,jblowspassword,
> jdoe,Jane Doe,jdoespassword,
> -------------
> notes on this 'users' file
> a) no blank lines or the script blows up
> b) must include a trailing comma after the password (otherwise the account is
> created but the password isn't added). I exported this file from excel and
> thought that msdos csv file type would be what to choose but trailing commas
> were not added. Apparently windows csv file type adds the trailing commas.
> c) before running the script open the file in vi or something and get rid of
> the trailing ^M's on the end of lines (:%s/^M$//g is the command to do this
> in
> vi where ^M is created by pressing ctrl-v then ctrl-m)
>
>
> That was it - added my users in about 3 hours of round and round discovery
> about the trailing comma being needed. Once I had that figured I added 120
> users in 30 seconds. Hope this helps someone else.
It sure does help someone else.
Best regards,
_______________________________________________
Ebox-user mailing list
[email protected]
https://lists.warp.es/mailman/listinfo/ebox-user