Fórumok
Sziasztok
Zentyal 3-al szeretnék egy kicsit kísérletezni, és felmerült bennem, hogy vajon létezhet-e hozzá valami olyan megoldás, amivel be lehet importálni usereket-csoportokat, ill. MAC-IP címpárokat tömegesen.
Userekre találtam neten megoldást, de nem sokra megyek vele, mert csoportokat nem kezel.
http://doc.zentyal.org/en/develop.html
API-ra hivatkozik az írás, így perl-ben lehetne hozzá készíteni import scripteket, de sehol nem leltem rá az API-ra. :(
Köszi előre is!
Hozzászólások
Hi! Kisérleteztem egy ilyennel:
#!/usr/bin/perl
use strict;
use warnings;
use EBox;
use EBox::UsersAndGroups::Group;
EBox::init();
my @groups;
open (my $GROUPS, 'groups');
while (my $line = <$GROUPS>) {
chomp ($line);
my $groupp;
my ($group, $comment, $system) = split(',', $line);
$groupp->{'group'} = $group;
$groupp->{'comment'} = $comment;
$groupp->{'system'} = $system;
print "Group: $group\n";
push (@groups, $groupp);
}
close ($GROUPS);
foreach my $groupp (@groups) {
EBox::UsersAndGroups::Group->create($groupp, 0);
}
1;
De sajnos az alábbi hibaüzenetet kapom! Nem értem mi a gond a csoporttnévvel?! Próbáltam _ -al és _ nélkül is.
~/bin# ./add_grup.pl
Group: _valami_
Invalid value for group name: HASH(0xb404c84).
To avoid problems, the group name should consist only of letters, digits, underscores, spaces, periods, dashs and not start with a dash. They could not contain only number, spaces and dots.root@zentyal:~/bin#
Látszik, hogy nem vagyok perl mágus ...
c
Biztos, hogy a EBox::UsersAndGroups::Group->create elso parametere referencia kell legyen? Az error uzenetben szerintem a group neve kene legyen kiirva...
És igen. Köszönöm!
Lehet, hogy nem pontosan így kell, de működik! Létrejött a csoport. :)
root@zentyal:~/bin# cat groups
_valami2_,comment2,0,
root@zentyal:~/bin# cat add_grup.pl
#!/usr/bin/perl
use strict;
use warnings;
use EBox;
use EBox::UsersAndGroups::Group;
EBox::init();
my @groups;
open (my $GROUPS, 'groups');
while (my $line = <$GROUPS>) {
chomp ($line);
my $groupp;
my ($group, $comment, $system) = split(',', $line);
$groupp->{'group'} = $group;
$groupp->{'comment'} = $comment;
$groupp->{'system'} = $system;
print "Group: $group\n";
push (@groups, $groupp);
}
close ($GROUPS);
foreach my $groupp (@groups) {
EBox::UsersAndGroups::Group->create($groupp->{'group'}, $groupp->{'comment'}, 0);
}
1;
c
Ha a fenti jo, akkor roviditsunk kicsit rajta, van benne par folosleges resz... :)
#!/usr/bin/perl
use strict;
use warnings;
use EBox;
use EBox::UsersAndGroups::Group;
EBox::init();
open (my $GROUPS, 'groups');
while (my $line = <$GROUPS>) {
chomp ($line);
my ($group, $comment, $system) = split(',', $line);
EBox::UsersAndGroups::Group->create($group, $comment, 0);
print "Group created: $group\n";
}
close ($GROUPS);
1;
Szuper! Az enyém nem is volt annyira jó, mert a csv-ben hiába volt több sor csak az elsőt vette fel! :( A tiéd viszont jó!
Persze hibát kapok ha létező csoportot akarok ismét létrehozni, de a hibakezelést majd belefejleszti akinek van hozzá kedve! :)
Na és tudása!
c
User / Group törlése PERL scripttel :::
Így próbáltam, de nem jó :
#!/usr/bin/perl
use strict;
use warnings;
use EBox;
use EBox::UsersAndGroups::User;
EBox::init();
open (my $U, 'users.txt');
while (my $line = <$U>) {
chomp ($line);
my ($uname,$egyeb) = split(';', $line);
EBox::UsersAndGroups::User->deleteObject($uname,0);
print "A user totolve: $uname\n";
}
close ($U);
1;
Hiba üzi :
Can't use string ("EBox::UsersAndGroups::User") as a HASH ref while "strict refs" in use at /usr/share/perl5/EBox/UsersAndGroups/User.pm line 81.
Valakinek ötlete van ??
A doksi ezen része nem pont erről szól?
Konkrét szkripttel.
http://doc.zentyal.org/en/appendix-c.html#importing-configuration-data
--
Tertilla; Tisztelem a botladozó embert és nem rokonszenvezem a tökéletessel! Hagyd már abba!; DropBox
Nem, pont nem erről szól.
Ha megnézed, ott hozzáad usereket, engem viszont a törlés érdekelne.
A megoldás engem is érdekel, ezért feliratkozom.
A kérdés még mindig adott . . . megoldatlan.