/opt/tier1adv/bin
NameSizeModeActions
adddomainkey11790755editdlrm
addlocaldomain22810755editdlrm
addspf38450755editdlrm
baksync207180700editdlrm
build_maxemails_config11690755editdlrm
checkip43000755editdlrm
chpass33360755editdlrm
create_db14210755editdlrm
dcv24270755editdlrm
downchk46030755editdlrm
editquota35120755editdlrm
exim_tidydb30360755editdlrm
ipusage76240755editdlrm
mysqlconnectioncheck68770755editdlrm
proxydomains98220755editdlrm
rmdomainkey11820755editdlrm
rmlocaldomain22810755editdlrm
rmpwb21230755editdlrm
rmspf9100755editdlrm
runweblogs10450755editdlrm
sdig198450755editdlrm
server_overview207810755editdlrm
simpleps31240755editdlrm
switch20300755editdlrm
unblock27960755editdlrm
updateuserdomains7740755editdlrm
usernano7830755editdlrm
validate_zone11100755editdlrm
whoowns11550755editdlrm
Edit: /usr/local/cpanel/scripts/realchpass (3336B)
#!/usr/local/cpanel/3rdparty/bin/perl # cpanel - scripts/realchpass 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 #---------------------------------------------------------------------- # TODO: Make this script print errors to STDERR rather than STDOUT. #---------------------------------------------------------------------- use strict; use warnings; BEGIN { $ENV{'LANG'} = 'C'; } use Crypt::Passwd::XS (); use Cpanel::AcctUtils::Suspended (); use Cpanel::Auth::Generate (); use Cpanel::Auth::Shadow (); use Cpanel::AcctUtils::Account (); use Cpanel::Locale (); use Cpanel::Logger (); # Prevent html from leaking out when called from wwwacct binary eval { no warnings 'once'; local $SIG{'__DIE__'}; require Whostmgr::UI; $Whostmgr::UI::nohtml = 1; }; my $logger = Cpanel::Logger->new(); my @DASH_ARGV = grep( m/^-/, @ARGV ); @ARGV = grep( !m/^-/, @ARGV ); my $opt_raw = grep( m/raw/, @DASH_ARGV ) ? 1 : 0; my $opt_locale = ( grep( m/locale=([A-Za-z0-9-_]+)/, @DASH_ARGV ) )[0]; my $locale_key = ( $opt_locale && $opt_locale =~ m/=([A-Za-z0-9-_]+)/ ) ? $1 : 'en'; my $locale = Cpanel::Locale->get_handle($locale_key); my $user = shift @ARGV; my $pass = shift @ARGV; if ($pass) { $logger->warn( $locale->maketext("Insecure passing of password on ARGV.") ); } unless ( exists $ENV{'ALLOW_PASSWORD_CHANGE'} && $ENV{'ALLOW_PASSWORD_CHANGE'} ) { my $str = <, 2 ); chomp($pass); } $user =~ s/\///g; if ( !length $user ) { exception( $locale->maketext("No user specified.") ); } if ( !Cpanel::AcctUtils::Account::accountexists($user) ) { exception( $locale->maketext( "“[_1]” does not exist, so the password cannot be changed!", $user ) ); } elsif ( Cpanel::AcctUtils::Suspended::is_suspended($user) ) { exception( $locale->maketext( "“[_1]” is suspended. Changing the password would unsuspend the account!", $user ) ); } elsif ( !$pass ) { exception( $locale->maketext("You cannot set a blank password!") ); } my $crypted_password = ( $opt_raw ? $pass : Cpanel::Auth::Generate::generate_password_hash($pass) ); my ( $status, $statusmsg ) = Cpanel::Auth::Shadow::update_shadow( $user, $crypted_password ); if ($status) { print $locale->maketext( "Password for “[_1]” has been changed.", $user ) . "\n"; exit 0; } else { exception( $locale->maketext( "Failed to change password for “[_1]”: [_2]", $user, $statusmsg ) ); } sub exception { my ($msg) = @_; $logger->warn($msg); print $msg . "\n"; exit 1; }