#!/usr/bin/perl
use strict;
use warnings;

chmod( 0600, '/var/cpanel/accounting.log' );
chmod_dir_files( '/var/cpanel', '\.accts$' );
chmod_dir_files( '/var/cpanel', '\.db$' );
chmod_dir_files( '/var/cpanel', 'pass$' );
chmod( 0600, '/usr/local/cpanel/logs/cpdavd_error_log' );
chmod( 0700, '/usr/local/cpanel/logs/easy' );
chmod_dir_files( '/usr/local/cpanel/logs/easy', '.*' );
chmod( 0700, '/usr/local/cpanel/logs/easy/apache' );
chmod_dir_files( '/usr/local/cpanel/logs/easy/apache', '.*' );

sub chmod_dir_files {
    my ( $dir, $regex ) = @_;

    if ( opendir( my $dir_dh, $dir ) ) {

        while ( my $acctf = readdir($dir_dh) ) {

            next if ( !-f $dir . '/' . $acctf || $acctf !~ m/$regex/ );
            chmod( 0600, $dir . '/' . $acctf );

        }

        closedir($dir_dh);
    }
}

