File: //scripts.20110531.215904.25158/checkbadconf
#!/usr/bin/perl
# cpanel - checkbadconf Copyright(c) 2010 cPanel, Inc.
# All rights Reserved.
# copyright@cpanel.net http://cpanel.net
# This code is subject to the cpanel license. Unauthorized copying is prohibited
BEGIN { unshift @INC, '/usr/local/cpanel'; }
use strict;
use warnings;
use Cpanel::HttpUtils::PatchConf ();
use Cpanel::Logger ();
my $logger = Cpanel::Logger->new();
for ( my $tries = 0; $tries < 10; $tries++ ) {
my $confcheck = `/usr/local/apache/bin/httpd -t 2>&1`;
if ( $confcheck =~ /bad (user|group) name (\S+)/m ) {
my( $user_group, $bad_name ) = ( $1, $2 );
if ( $bad_name eq 'nobody' ) {
$logger->die( "Fatal! Cannot Remove $user_group $bad_name" );
}
$logger->info( "Removing invalid $user_group $bad_name from Apache configuration" );
Cpanel::HttpUtils::PatchConf::remove_user_group( $bad_name );
}
else {
exit( 0 );
}
}
$logger->die("Unable to remove bad users/groups!");