MMCT TEAM
Server IP : 103.53.40.154  /  Your IP : 3.145.9.200
Web Server : Apache
System : Linux md-in-35.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : ppcad7no ( 715)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /proc/../scripts/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //proc/../scripts/grpck
#!/usr/local/cpanel/3rdparty/bin/perl

# cpanel - scripts/grpck                           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

exit if ( !-x '/usr/sbin/grpck' );

require Expect;

my $lines  = 0;
my $glines = 0;

open( GROUP, "<", '/etc/group' );
while (<GROUP>) {
    $glines++;
}
close(GROUP);
$glines = ( $glines * 3 );

open( GRPCK, "-|" ) || exec( '/usr/sbin/grpck', '-r' );
while (<GRPCK>) {
    if (/\? /) {
        $lines++;
        if ( $lines > $glines ) {
            last();
        }
    }
}
close(GRPCK);

if ( $lines > $glines ) {
    print "broken grpck: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=143308\n";
    print "grpck will be skipped.\n";
    exit();
}

my $exp = Expect->spawn("/usr/sbin/grpck")
  or die "Cannot spawn pwck $!\n";

while (1) {
    $exp->expect( 30, [ '\?', sub { $exp->send("yes\r"); } ], [ 'eof', sub { exit(); } ], [ 'timeout', sub { exit(); } ], 'default' );
}

my $pid = $exp->pid();

$exp->soft_close();
waitpid( $pid, 0 );

MMCT - 2023