Sh3ll
OdayForums


Server : Apache
System : Linux server1.cgrithy.com 3.10.0-1160.95.1.el7.x86_64 #1 SMP Mon Jul 24 13:59:37 UTC 2023 x86_64
User : nobody ( 99)
PHP Version : 8.1.23
Disable Function : NONE
Directory :  /scripts/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //scripts/set_mailman_archive_perms
#!/usr/local/cpanel/3rdparty/bin/perl

# cpanel - scripts/set_mailman_archive_perms       Copyright 2022 cPanel, L.L.C.
#                                                           All rights reserved.
# copyright@cpanel.net                                         http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited

use strict;
use warnings;

use Cpanel::Mailman::Perms    ();
use Cpanel::ProcessCheck      ();
use Cpanel::IONice            ();
use Cpanel::CloseFDs          ();
use Cpanel::Sys::Setsid::Fast ();

__PACKAGE__->script(@ARGV) unless caller();

sub script {
    my (@args) = @_;

    my %pids = Cpanel::ProcessCheck::previouspids( 'process' => 'set_mailman_archive_perms' );

    if ( scalar keys %pids ) {
        print "[$0] Terminating previous running copies with pids: " . join( ', ', keys %pids ) . ".\n";
        kill 9, keys %pids;
    }

    if ( Cpanel::IONice::ionice( 'best-effort', 6 ) ) {
        print "[$0] Setting I/O priority to reduce system load: " . Cpanel::IONice::get_ionice() . "\n";
    }

    setpriority( 0, 0, 19 );    # nice 19

    print "[$0] Setting mailman archive permissions\n";

    if ( grep ( m/-+background/, @args ) ) {
        print "[$0] Continuing in the background\n";
        if ( fork() ) { exit(); }

        open( STDERR, '>>', '/usr/local/cpanel/logs/error_log' ) || warn "Failed to open /usr/local/cpanel/logs/error_log: $!";
        Cpanel::Sys::Setsid::Fast::fast_setsid();
        Cpanel::CloseFDs::fast_daemonclosefds();

    }

    my $perms_obj = Cpanel::Mailman::Perms->new();

    # Set the outer archive directory permissions
    $perms_obj->set_perms();

    # Set per-list permissions
    if ( $perms_obj->set_archive_perms() ) {
        exit(0);
    }

    exit(1);
}

1;

ZeroDay Forums Mini