| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- #!/usr/bin/perl
- #
- # Copyright (C) Roman Dmitiriev, rnd@rajven.ru
- #
- # The script moves user records to the requested group if it matches the rules of membership of this group
- #
- use utf8;
- use English;
- use base;
- use FindBin '$Bin';
- use lib "/opt/Eye/scripts";
- use strict;
- use DBI;
- use Time::Local;
- use Net::Patricia;
- use NetAddr::IP;
- use Data::Dumper;
- use eyelib::config;
- use eyelib::main;
- use eyelib::mysql;
- use eyelib::net_utils;
- use File::Basename;
- use File::Path;
- setpriority(0,0,19);
- my $group_id = $ARGV[0];
- exit if (!$group_id);
- my $group = get_record_sql($dbh,"SELECT * FROM OU WHERE id=$group_id");
- print "Analyzed rules for group id: $group_id name: $group->{ou_name}\n";
- #get userid list
- my $sSQL="SELECT * FROM User_auth WHERE ip IS NOT NULL and mac IS NOT NULL and deleted=0";
- my @users = get_records_sql($dbh,$sSQL);
- foreach my $row (@users) {
- next if (!$row);
- my $new_user=get_new_user_id($dbh,$row->{'ip'},$row->{'mac'});
- if ($new_user->{ou_id} ne $group_id) { next; }
- if ($new_user->{ou_id} ne $row->{ou_id}) {
- print "MOVED: $row->{ip} $row->{mac} $row->{comments} to $new_user->{ou_id}\n";
- my $auth->{ou_id}=$new_user->{ou_id};
- update_record($dbh,"User_auth",$auth,"id=".$row->{id});
- my $user->{ou_id}=$new_user->{ou_id};
- update_record($dbh,"User_list",$user,"id=".$row->{user_id});
- }
- }
- exit
|