TERMINAL EXPLOIT V2.1

[LOCATION]: /proc/2620982/root/scripts/

Folder Link Grabber

PREFIX: SUFFIX:

Mass File Creator

FILENAME: CONTENT:

Quick Actions

FILE:
NEW_ITEM:
#!/usr/local/cpanel/3rdparty/bin/perl

#                                      Copyright 2025 WebPros International, LLC
#                                                           All rights reserved.
# copyright@cpanel.net                                         http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited.

=encoding utf-8

=head1 NAME

call_pkgacct - Wrapper script for cPanel & WHM's pkgacct binary

=head1 SYNOPSIS

    call_pkgacct [--help] [pkgacct options] <username>

=head1 DESCRIPTION

This script provides an easy to call wrapper for cPanel & WHM's pkgacct binary with the specific settings
needed for Comet Backup's agent. It automatically adds the C<--nocompress> and C<--stdout-archive> flags
to output an uncompressed tar archive to stdout.

All other arguments are passed through to pkgacct. See C<pkgacct --help> for available options.

=head1 OPTIONS

=over 4

=item B<--help>

Display this help message and exit.

=back

=head1 EXAMPLES

    # Create a backup of user 'example' to stdout
    call_pkgacct example > /path/to/backup.tar

    # Create a backup with additional pkgacct options
    call_pkgacct --skiplogs --skipmailman example > /path/to/backup.tar

=cut

package scripts::call_pkgacct;

use cPstrict;

use Getopt::Long ();
use Pod::Usage   ();

use FindBin;
use lib "$FindBin::Bin/../plugins/whm/comet/perl/usr/local/cpanel";

run(@ARGV) if !caller();

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

    my $help;
    Getopt::Long::Configure('pass_through');
    Getopt::Long::GetOptionsFromArray(
        \@args,
        'help|h|?' => \$help,
    ) or Pod::Usage::pod2usage(2);

    if ($help) {
        Pod::Usage::pod2usage(
            -exitval => 0,
            -verbose => 2,
        );
    }

    my $pkgacct_bin = '/usr/local/cpanel/bin/pkgacct';

    if ( !-x $pkgacct_bin ) {
        die "Error: pkgacct binary not found or not executable at $pkgacct_bin\n";
    }

    # Add required flags for Comet Backup and pass through all other arguments
    exec {$pkgacct_bin} $pkgacct_bin, '--nocompress', '--stdout-archive', '--skiphomedir', '--skipmysql', '--skippgsql', @args
      or die "Error: Failed to execute pkgacct: $!\n";
}

1;
[ CLOSE ]