Current File : //scripts/postrestoreacct |
#!/usr/bin/perl
use strict;
use warnings;
use IO::File;
use Carp;
my $user;
my @whitelist_files = ( '/etc/kill_dbwhitelist', '/etc/killwhitelist' );
if (@ARGV) {
$user = shift;
foreach (@whitelist_files) {
my $whitelist_lines = IO::File->new( $_, O_RDONLY );
if ( !defined $whitelist_lines || !$whitelist_lines->opened() ) {
carp("Error opening $_\n");
}
chomp( my @whitelist_lines = $whitelist_lines->getlines() );
$whitelist_lines->close();
my $match;
my @converted_whitelist;
foreach (@whitelist_lines) {
if ( $_ =~ /^$user$/smx ) {
next;
}
push( @converted_whitelist, $_ );
}
if (@converted_whitelist) {
my $whitelist_lines = IO::File->new( $_, O_WRONLY | O_TRUNC );
if ( !defined $whitelist_lines || !$whitelist_lines->opened() ) {
carp("Error opening $_\n");
}
my $converted_whitelist = join( "\n", @converted_whitelist );
$whitelist_lines->write("$converted_whitelist\n");
$whitelist_lines->close();
}
elsif ( scalar @whitelist_lines == 1 ) {
my $whitelist_lines = IO::File->new( $_, O_WRONLY | O_TRUNC );
if ( !defined $whitelist_lines || !$whitelist_lines->opened() ) {
carp("Error opening $_\n");
}
$whitelist_lines->close();
}
}
my $shell = ( getpwuid( getpwnam($user) ) )[8];
if ( $shell eq '/bin/bash' ) {
system("chsh -s /usr/local/cpanel/bin/noshell $user");
}
system("sed -i '/userdirprotect/d' /var/cpanel/userdata/$user/*");
system('/etc/cron.daily/reseller_pack_limits');
}