PATH:
usr
/
local
/
cpanel
/
scripts
#!/usr/local/cpanel/3rdparty/bin/perl # cpanel - scripts/xfertool 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 package scripts::xfertool; use cPstrict; =encoding utf-8 =head1 USAGE xfertool ( --help | <COMMAND> <USERNAME> [ARGS..] ) =head1 DESCRIPTION This script is part of an automated process that WHM uses for account transfers. We B<do> B<not> recommend calling this script manually. Possible COMMAND values are: =over =item * C<allowlogins> and C<disallowlogins> Control the user’s ability to log in. =item * C<blockdynamiccontent> and C<unblockdynamiccontent> Control httpd’s handling of files with certain well-known extensions that correlate with dynamic web content. For example, after C<blockdynamiccontent>, C<.php> files will no longer function normally. =item * C<setupmaildest> Sets the user’s mail routing. Takes an additional argument that can be C<primary>, C<secondary>, or C<remote>. Example: xfertool setupmaildest howard primary =item * C<swapip> Replaces one IP address for another in the user’s DNS zones. Takes the source & target IP addresses as additional arguments. Example: xfertool swapip howard 1.2.3.4 2.3.4.5 =item * C<changenameservers> Sets the user’s nameservers, given as additional arguments. Example: xfertool changenameservers howard ns1.myhost.com ns2.myhost.com (As many nameservers can be given as needed.) =back =cut #---------------------------------------------------------------------- use parent 'Cpanel::HelpfulScript'; use Cpanel::DnsUtils::Fetch (); use Cpanel::Hostname (); use Cpanel::Encoder::URI (); use Cpanel::DnsUtils::Stream (); use Cpanel::DnsUtils::AskDnsAdmin (); use Cpanel::ZoneFile (); use Cpanel::OS (); use Cpanel::PwCache (); use Cpanel::Config (); use Cpanel::Config::CpUserGuard (); use Cpanel::ConfigFiles (); use Cpanel::AccessIds::ReducedPrivileges (); use Cpanel::Config::WebVhosts (); use Cpanel::Config::userdata::Load (); use Cpanel::AcctUtils::Domain (); use Cpanel::AcctUtils::Owner (); use Cpanel::AcctUtils::DomainOwner::Tiny (); use Cpanel::MailTools::DBS (); use Cpanel::Config::HasCpUserFile (); use Cpanel::Team::Config (); use Cpanel::Team::Constants (); use Whostmgr::Transfers::Session::Constants (); use constant { _ENOENT => 2, _ACCEPT_UNNAMED => 1, }; use constant _OPTIONS => (); #---------------------------------------------------------------------- __PACKAGE__->new(@ARGV)->script() if !caller; sub script ($self) { my @args = $self->getopt_unnamed(); my $opt = shift(@args) or die $self->help('Need a COMMAND.'); my $user = shift(@args) or die $self->help('Need a USERNAME.'); my @DOMAINS; if ( !Cpanel::PwCache::getpwnam($user) ) { # check if user looks like a valid domain if ( $user !~ /.\../ ) { print "Supplied user '$user' is not found.\n"; exit 1; } @DOMAINS = ($user); # can return 'root' if no other owner found $user = Cpanel::AcctUtils::DomainOwner::Tiny::getdomainowner( $DOMAINS[0] ); if ( $user eq 'root' ) { print "Domain '$DOMAINS[0]' cannot be transferred.\n"; exit; } } elsif ( Cpanel::Config::HasCpUserFile::has_cpuser_file($user) ) { my $cpu_ref = Cpanel::Config::loadcpuserfile($user); @DOMAINS = ( $cpu_ref->{'DOMAIN'} ); if ( ref $cpu_ref->{'DOMAINS'} ) { push @DOMAINS, @{ $cpu_ref->{'DOMAINS'} }; } } else { print "Supplied user '$user' is not found.\n"; exit 1; } if ( $user eq 'root' ) { print "Cannot use 'root' user.\n"; exit(1); } if ( $opt =~ /(dis)?allowlogins/i ) { my $dis = $1; if ( !$user ) { print "Usage: $0 --(dis)?allowlogins user\n"; exit(1); } if ($dis) { _disallow_logins($user); } else { _allow_logins($user); } } elsif ( $opt =~ /(un)?blockdynamiccontent/i ) { my $un = $1; shift @args; # $dest if ( !scalar @DOMAINS ) { print "Usage: $0 --(un)?blockdynamiccontent domain/user\n"; exit(1); } _block_dynamic_content( $user, \@DOMAINS, ( $un ? 1 : 0 ) ); } elsif ( $opt =~ /setupmaildest/i ) { my $dest = shift(@args); if ( !scalar @DOMAINS ) { print "Usage: $0 --setupmaildest domain/user primary/secondary/remote\n"; exit(1); } _setmaildest( \@DOMAINS, $dest ); } elsif ( $opt =~ /swapip/i ) { my $sourceip = shift(@args); my $targetip = shift(@args); if ( !scalar @DOMAINS || !$sourceip || !$targetip ) { print "Usage: $0 --swapip domain/user sourceip destip\n"; exit(1); } _changezones( 'SWAPIP', \@DOMAINS, $sourceip, $targetip ); } elsif ( $opt =~ /changenameservers/i ) { if ( !scalar @DOMAINS ) { print "Usage: $0 --changenameservers domain/user NS1 NS2 NS3 ...\n"; exit(1); } my @NSLIST = @args; _changezones( 'NAMESERVERS', \@DOMAINS, \@NSLIST ); } else { die $self->help("Unrecognized COMMAND ($opt) given."); } return; } sub _changezones { my $op = shift; my $domainref = shift; my %ZONES = %{ Cpanel::DnsUtils::Fetch::fetch_zones( 'zones' => $domainref ) }; if ( $op eq 'SWAPIP' ) { my $sourceip = shift; my $destip = shift; foreach my $zone ( keys %ZONES ) { my $zf = Cpanel::ZoneFile->new( text => $ZONES{$zone}, domain => $zone ); if ( $zf->{'status'} ) { } if ( !$sourceip || $sourceip == -1 ) { my @main_a_records = $zf->find_records( 'type' => 'A', 'name' => $zone . '.' ); $sourceip = $main_a_records[0]->{'address'}; } my @arecords = $zf->find_records( 'type' => 'A' ); if ( !$sourceip ) { $sourceip = $arecords[0]->{'address'}; } for ( my $i = 0; $i <= $#arecords; $i++ ) { if ( $arecords[$i]->{'address'} eq $sourceip ) { $arecords[$i]->{'address'} = $destip; } } $zf->replace_records( \@arecords ); my $zref = $zf->serialize(); $ZONES{$zone} = $zref; } } elsif ( $op eq 'NAMESERVERS' ) { my $nsref = shift; foreach my $zone ( keys %ZONES ) { my $zf = Cpanel::ZoneFile->new( text => $ZONES{$zone}, domain => $zone ); if ( $zf->{'status'} ) { } my @soarecords = $zf->find_records( 'name' => $zone . '.', 'type' => 'SOA' ); $soarecords[0]->{'mname'} = $nsref->[0]; $zf->replace_records( \@soarecords ); my @nsrecords = $zf->find_records( 'name' => $zone . '.', 'type' => 'NS' ); my $first_record = $zf->get_first_record( \@nsrecords ); my $first_record_line = $first_record->{'Line'}; my $first_record_ttl = $first_record->{'ttl'}; $zf->remove_records( \@nsrecords ); foreach my $nameserver ( @{$nsref} ) { $zf->insert_record_after_line( { 'ttl' => $first_record_ttl, 'name' => $zone . '.', 'class' => 'IN', 'type' => 'NS', 'nsdname' => $nameserver }, $first_record_line - 1 ); } my $zref = $zf->serialize(); $ZONES{$zone} = $zref; } } my $zdata; my @RELOADLIST; foreach my $zone ( keys %ZONES ) { if ( !$ZONES{$zone} ) { next(); } my $zonedata = join( "\n", @{ $ZONES{$zone} } ); $zonedata =~ s/\n{4}/\n/g; if ( $zonedata eq '' ) { next(); } #we should just edit the soa? $zonedata = Cpanel::DnsUtils::Stream::upsrnumstream($zonedata); #increase serial number push @RELOADLIST, $zone; $zdata .= 'cpdnszone-' . Cpanel::Encoder::URI::uri_encode_str($zone) . '=' . Cpanel::Encoder::URI::uri_encode_str($zonedata) . '&'; } Cpanel::DnsUtils::AskDnsAdmin::askdnsadmin( 'SYNCZONES', 0, '', '', '', $zdata ); Cpanel::DnsUtils::AskDnsAdmin::askdnsadmin( 'RELOADZONES', 0, join( ',', @RELOADLIST ) ); return; } sub _setmaildest { my $domainref = shift; my $dest = shift; if ( !$dest || ( $dest ne 'primary' && $dest ne 'secondary' ) ) { $dest = 'remote'; } my @setup; foreach my $domain ( @{$domainref} ) { print "Setting mail handling for $domain to : $dest\n"; # NB: This duplicates logic in # Whostmgr::Transfers::Systems::MailRouting; it would be nice to # normalize it. # if ( $dest eq 'primary' ) { push @setup, [ $domain, 'localdomains' => 1, 'remotedomains' => 0, 'secondarymx' => 0, 'update_proxy_subdomains' => 1 ]; } elsif ( $dest eq 'secondary' ) { push @setup, [ $domain, 'localdomains' => 0, 'remotedomains' => 1, 'secondarymx' => 1, 'update_proxy_subdomains' => 1 ]; } else { push @setup, [ $domain, 'localdomains' => 0, 'remotedomains' => 1, 'secondarymx' => 0, 'update_proxy_subdomains' => 1 ]; } } Cpanel::MailTools::DBS::setup_mail_routing_for_domains( \@setup ); return; } sub _block_dynamic_content { my $user = shift; my $domainref = shift; my $unblock = shift; my @DYNAMIC_EXTS = qw(dynamiccontent pl plx perl cgi php php4 php5 php6 php3 shtml); my $host; my $owner = Cpanel::AcctUtils::Owner::getowner($user); $owner =~ s/\n//g; if ( $owner eq '' || $owner eq 'root' || $user eq $owner ) { $host = Cpanel::Hostname::gethostname(); } else { $host = Cpanel::AcctUtils::Domain::getdomain($owner); } if ( !$host ) { $host = Cpanel::Hostname::gethostname(); } my $dynamic_regex = '\.(' . join( '|', @DYNAMIC_EXTS ) . ')$'; my $privs = Cpanel::AccessIds::ReducedPrivileges->new($user); my $wvh = Cpanel::Config::WebVhosts->load($user); my %seen_vhost; for my $domain (@$domainref) { my $vhost_name = $wvh->get_vhost_name_for_domain($domain) or do { warn "“$user” has no web vhost for domain “$domain”!\n"; next; }; next if $seen_vhost{$vhost_name}; my $vh_conf = Cpanel::Config::userdata::Load::load_userdata_domain( $user, $vhost_name ); if ( !$vh_conf || !%$vh_conf ) { warn "“$user”’s web vhost “$vhost_name” has no configuration!\n"; next; } my $docroot = $vh_conf->{'documentroot'} or do { warn "Configuration for “$user”’s web vhost “$vhost_name” has no document root!\n"; next; }; my $htaccess = "$docroot/.htaccess"; if ($unblock) { next if !-e $htaccess; if ( open my $htaccess_fh, '+<', $htaccess ) { my @HT = <$htaccess_fh>; @HT = grep( !/^\s*redirectmatch\s+[\.\\\(]*dynamiccontent/i, @HT ); # Clear final empty line. Previously there was # a bug in this logic that would leave an extra line in the # file after every block/unblock cycle. pop @HT if @HT && ( $HT[-1] eq "\n" ); seek( $htaccess_fh, 0, 0 ); print {$htaccess_fh} join( '', @HT ); truncate( $htaccess_fh, tell($htaccess_fh) ); close $htaccess_fh; } elsif ( $! != _ENOENT() ) { warn "Failed to update htaccess @ $docroot file: $!"; } } else { if ( open my $htaccess_fh, '>>', $htaccess ) { print {$htaccess_fh} "\nRedirectMatch $dynamic_regex http://$host/cgi-sys/movingpage.cgi\n"; close $htaccess_fh; } else { warn "Failed to update htaccess @ $docroot file: $!"; } } $seen_vhost{$vhost_name} = 1; } return; } sub _allow_logins { my $user = shift; $user =~ s/\\//g; unlink("/var/cpanel/suspended/${user}"); _generate_account_suspension_include(); if ( -e '/usr/sbin/pw' ) { system( '/usr/sbin/pw', 'unlock', $user ); } else { system( 'passwd', '-u', $user ); } # restore user's cron if previously suspended my $user_crontab_dir = Cpanel::OS::user_crontab_dir(); my $suspended_cron = "${user_crontab_dir}.suspended/$user"; if ( -e $suspended_cron ) { link( $suspended_cron, "$user_crontab_dir/${user}" ) && unlink $suspended_cron; } my $cpuser_guard = Cpanel::Config::CpUserGuard->new($user); delete $cpuser_guard->{'data'}->{'SUSPENDED'}; $cpuser_guard->save(); return; } sub _disallow_logins { my $user = shift; $user =~ s/\///g; # very similar to the code in scripts/suspendacct, # but cannot be used as webserver & co still need to be available if ( !-d '/var/cpanel/suspended' ) { my $original_umask = umask(022); my $mail_gid = ( getgrnam('mail') )[2] // 13; mkdir( '/var/cpanel/suspended', 0710 ); umask($original_umask); chown( 0, $mail_gid, '/var/cpanel/suspended' ); } require Cpanel::FileUtils::Write; Cpanel::FileUtils::Write::overwrite( "/var/cpanel/suspended/${user}", $Whostmgr::Transfers::Session::Constants::USER_TRANSFERRED_MESSAGE, 0640 ); _generate_account_suspension_include(); if ( -e '/usr/sbin/pw' ) { system( '/usr/sbin/pw', 'lock', $user ); } else { system( 'passwd', '-l', $user ); } # temporarily suspend crontab _suspend_cron_for($user); _suspend_ftp_for($user); # suspend the team user on source server once transferred. _suspend_team_for($user); my $cpuser_guard = Cpanel::Config::CpUserGuard->new($user); $cpuser_guard->{'data'}->{'SUSPENDTIME'} = time(); $cpuser_guard->{'data'}->{'SUSPENDED'} = 1; $cpuser_guard->save(); return; } sub _generate_account_suspension_include { require "/usr/local/cpanel/scripts/generate_account_suspension_include"; ## no critic qw(Modules::RequireBarewordIncludes) -- refactoring this is too large generate_account_suspension_include::update_include_and_restart_httpd(); return 1; } sub _suspend_cron_for { my ($user) = @_; return unless $user; my $user_crontab_dir = Cpanel::OS::user_crontab_dir(); my $cron = "$user_crontab_dir/$user"; return unless -e $cron; # create cron.suspended dir if missing my $suspended_dir = "${user_crontab_dir}.suspended"; mkdir( $suspended_dir, 0700 ) unless -e $suspended_dir; # set the cron as suspended link( $cron, "${suspended_dir}/${user}" ) && unlink($cron); return; } sub _suspend_ftp_for { my $user = shift || return; my $ftpdir = $Cpanel::ConfigFiles::FTP_PASSWD_DIR; # this same directory is used for both proftpd and pure-ftpd return if !-d $ftpdir; my $ftpfile = $ftpdir . '/' . $user; rename $ftpfile, $ftpfile . '.' . 'suspended'; system '/usr/local/cpanel/bin/ftpupdate', $user; return; } sub _suspend_team_for { my $user = shift || return; return if !-e "$Cpanel::Team::Constants::TEAM_CONFIG_DIR/$user"; eval { my $team_obj = Cpanel::Team::Config->new($user); $team_obj->suspend_team(); }; # omitting $@ because it shows the full stack trace print "Unable to suspend team user\n" if $@; return; }
[+]
..
[-] rebuild_whm_chrome
[edit]
[-] check_mail_spamassassin_compiledregexps_body_0
[edit]
[-] transfer_accounts_as_root
[edit]
[-] cphulkdblacklist
[edit]
[-] fixquotas
[edit]
[-] archive_sync_zones
[edit]
[-] listsubdomains
[edit]
[-] suspendmysqlusers
[edit]
[-] userdata_wildcard_cleanup
[edit]
[-] perlinstaller
[edit]
[-] mkwwwacctconf
[edit]
[-] realrawchpass
[edit]
[-] find_pids_with_inotify_watch_on_path
[edit]
[-] update_mysql_systemd_config
[edit]
[-] oopscheck
[edit]
[-] hackcheck
[edit]
[-] spamboxdisable
[edit]
[-] check_cpanel_pkgs
[edit]
[-] installpkg
[edit]
[-] removeacct
[edit]
[-] initsuexec
[edit]
[-] checkalldomainsmxs
[edit]
[-] mainipcheck
[edit]
[-] restartsrv_nscd
[edit]
[-] cleandns8
[edit]
[-] quickwhoisips
[edit]
[-] make_hostname_unowned
[edit]
[-] perform_sqlite_auto_rebuild_db_maintenance
[edit]
[-] fix_pear_registry
[edit]
[-] importmydnsdb
[edit]
[-] builddovecotconf
[edit]
[-] check_valid_server_hostname
[edit]
[-] cphulkdwhitelist
[edit]
[-] verify_vhost_includes
[edit]
[-] make_config
[edit]
[-] compilerscheck
[edit]
[-] apachelimits
[edit]
[-] restartsrv_unknown
[edit]
[-] purge_old_config_caches
[edit]
[-] checkbashshell
[edit]
[-] cpbackup_transport_file
[edit]
[-] check_unmonitored_enabled_services
[edit]
[-] wwwacct
[edit]
[-] listcheck
[edit]
[-] sync_child_accounts
[edit]
[-] ensure_includes
[edit]
[-] fix_addon_permissions
[edit]
[-] update_spamassassin_config
[edit]
[-] fixmailinglistperms
[edit]
[-] fixwebalizer
[edit]
[-] restartsrv_xinetd
[edit]
[-] gensysinfo
[edit]
[-] buildeximconf
[edit]
[-] resetquotas
[edit]
[-] restartsrv_base
[edit]
[-] disable_sqloptimizer
[edit]
[-] configure_rh_ipv6_firewall_for_cpanel
[edit]
[-] securerailsapps
[edit]
[-] unlink_service_account
[edit]
[-] resetmailmanurls
[edit]
[-] locale_export
[edit]
[-] dovecot_set_defaults.pl
[edit]
[-] updatenow
[edit]
[-] run_plugin_lifecycle
[edit]
[-] set_php_memory_limits
[edit]
[-] linksubemailtomainacct
[edit]
[-] increase_filesystem_limits
[edit]
[-] restartsrv_cpanel_php_fpm
[edit]
[-] try-later
[edit]
[-] restartsrv
[edit]
[-] addpop
[edit]
[-] upcp
[edit]
[-] export_horde_contacts_to_vcf
[edit]
[-] restorecpuserfromcache
[edit]
[-] perlmods
[edit]
[-] upcp-running
[edit]
[-] modify_accounts
[edit]
[-] restartsrv_cpanalyticsd
[edit]
[-] restartsrv_cpanellogd
[edit]
[-] cleansessions
[edit]
[-] delpop
[edit]
[-] sync_contact_emails_to_cpanel_users_files
[edit]
[-] addsystemuser
[edit]
[-] migrate_whmtheme_file_to_userdata
[edit]
[-] rebuildinstalledssldb
[edit]
[-] whoowns
[edit]
[-] fix-cpanel-perl
[edit]
[-] editquota
[edit]
[-] setpostgresconfig
[edit]
[-] killpvhost
[edit]
[-] check_users_my_cnf
[edit]
[-] check_domain_tls_service_domains.pl
[edit]
[-] restorepkg
[edit]
[-] cpdig
[edit]
[-] maintenance
[edit]
[-] securetmp
[edit]
[-] restartsrv_clamd
[edit]
[-] expunge_expired_certificates_from_sslstorage
[edit]
[-] updatenameserverips
[edit]
[-] runstatsonce
[edit]
[-] restartsrv_pdns
[edit]
[-] unsuspendmysqlusers
[edit]
[-] named.rfc1912.zones
[edit]
[-] update_dkim_keys
[edit]
[-] restartsrv_tailwatchd
[edit]
[-] restartsrv_cpipv6
[edit]
[-] realadduser
[edit]
[-] rebuildippool
[edit]
[-] dav_change_hostname
[edit]
[-] restartsrv_ftpd
[edit]
[-] rpmup
[edit]
[-] post_snapshot
[edit]
[-] gencrt
[edit]
[-] xferpoint
[edit]
[-] convert_and_migrate_from_legacy_backup
[edit]
[-] transfermysqlusers
[edit]
[-] unslavenamedconf
[edit]
[-] comparecdb
[edit]
[-] email_hold_maintenance
[edit]
[-] userdirctl
[edit]
[-] install_dovecot_fts
[edit]
[-] grpck
[edit]
[-] ensure_hostname_resolves
[edit]
[-] set_mailman_archive_perms
[edit]
[-] check_cpanel_rpms
[edit]
[-] sshcontrol
[edit]
[-] check_security_advice_changes
[edit]
[-] fastmail
[edit]
[-] fixnamedviews
[edit]
[+]
cpan_sandbox
[-] eximstats_spam_check
[edit]
[-] updatessldomains
[edit]
[-] restartsrv_ftpserver
[edit]
[-] post_sync_cleanup
[edit]
[-] restartsrv_rsyslog
[edit]
[-] proxydomains
[edit]
[-] patch_mail_spamassassin_compiledregexps_body_0
[edit]
[-] convert_accesshash_to_token
[edit]
[-] nixstatsagent.sh
[edit]
[-] restartsrv_exim
[edit]
[-] check_mount_procfs
[edit]
[-] rebuildnsdzones
[edit]
[-] killspamkeys
[edit]
[-] ckillall
[edit]
[-] check_maxmem_against_domains_count
[edit]
[-] pwck
[edit]
[-] uninstall_cpanel_analytics
[edit]
[-] cpservice
[edit]
[-] remote_log_transfer
[edit]
[-] initquotas
[edit]
[-] wwwacct2
[edit]
[-] refresh-dkim-validity-cache
[edit]
[-] spamassassindisable
[edit]
[-] rsync-user-homedir.pl
[edit]
[-] dnscluster
[edit]
[-] convert2dovecot
[edit]
[-] installpostgres
[edit]
[-] copy_user_mail_as_root
[edit]
[-] rebuild_provider_openid_connect_links_db
[edit]
[-] fixrndc
[edit]
[-] restartsrv_sshd
[edit]
[-] enable_spf_dkim_globally
[edit]
[-] restartsrv_syslogd
[edit]
[-] killdns
[edit]
[-] dcpumon-wrapper
[edit]
[-] dumpstor
[edit]
[-] ptycheck
[edit]
[-] initfpsuexec
[edit]
[-] updatesigningkey
[edit]
[-] update_local_rpm_versions
[edit]
[-] expunge_expired_transfer_sessions
[edit]
[-] find_outdated_services
[edit]
[-] ipusage
[edit]
[-] check_unreliable_resolvers
[edit]
[-] restartsrv_pop3
[edit]
[-] restartsrv_postgresql
[edit]
[-] restartsrv_dnsadmin
[edit]
[-] vps_optimizer
[edit]
[-] email_archive_maintenance
[edit]
[-] ensure_crontab_permissions
[edit]
[-] buildhttpdconf
[edit]
[-] cpanpingtest
[edit]
[-] build_mail_sni
[edit]
[-] get_locale_from_legacy_name_info
[edit]
[-] fixrelayd
[edit]
[-] gemwrapper
[edit]
[-] snapshot_prep
[edit]
[-] restartsrv_p0f
[edit]
[-] test_sa_compiled
[edit]
[-] gather_update_logs_setupcrontab
[edit]
[-] installsqlite3
[edit]
[-] autorepair
[edit]
[-] featuremod
[edit]
[-] vzzo-fixer
[edit]
[-] mysqlpasswd
[edit]
[-] ssl_crt_status
[edit]
[-] mailperm
[edit]
[-] restartsrv_named
[edit]
[-] build_bandwidthdb_root_cache_in_background
[edit]
[-] backups_clean_metadata_for_missing_backups
[edit]
[-] realperlinstaller
[edit]
[-] update-packages
[edit]
[-] ftpfetch
[edit]
[-] ftpsfetch
[edit]
[-] import_exim_data
[edit]
[-] restartsrv_cphulkd
[edit]
[-] unsuspendacct
[edit]
[-] setup_greylist_db
[edit]
[-] setupmailserver
[edit]
[-] maildir_converter
[edit]
[-] fixtar
[edit]
[-] cleanphpsessions.php
[edit]
[-] restartsrv_lmtp
[edit]
[-] getremotecpmove
[edit]
[-] biglogcheck
[edit]
[-] chkpaths
[edit]
[-] litespeed-check
[edit]
[-] quota_auto_fix
[edit]
[-] generate_account_suspension_include
[edit]
[-] fixvaliases
[edit]
[-] checknsddirs
[edit]
[-] synctransfers
[edit]
[-] upgrade_bandwidth_dbs
[edit]
[-] phpini_tidy
[edit]
[-] cleanupmysqlprivs
[edit]
[-] restartsrv_imap
[edit]
[-] killdns-dnsadmin
[edit]
[-] ccs-check
[edit]
[-] spamassassin_dbm_cleaner
[edit]
[-] process_pending_cpanel_php_pear_registration
[edit]
[-] setup_modsec_db
[edit]
[-] restartsrv_cpsrvd
[edit]
[-] enable_sqloptimizer
[edit]
[-] slurp_exim_mainlog
[edit]
[-] balance_linked_node_quotas
[edit]
[-] smartcheck
[edit]
[-] smtpmailgidonly
[edit]
[-] notify_expiring_certificates
[edit]
[-] pedquota
[edit]
[-] syslog_check
[edit]
[-] killmysqlwildcard
[edit]
[-] fetchfile
[edit]
[-] setup_systemd_timer_for_plugins
[edit]
[-] postupcp
[edit]
[-] mailscannerupdate
[edit]
[-] MirrorSearch_pingtest
[edit]
[-] cpbackup
[edit]
[-] named.ca
[edit]
[-] build_cpnat
[edit]
[-] cpanelsync
[edit]
[-] mysqlconnectioncheck
[edit]
[-] ensure_dovecot_memory_limits_meet_minimum
[edit]
[-] checkccompiler
[edit]
[-] zoneexists
[edit]
[-] fixheaders
[edit]
[-] validate_sshkey_passphrase
[edit]
[-] rawchpass
[edit]
[-] compilers
[edit]
[-] update_exim_rejects
[edit]
[+]
php_sandbox
[-] restartsrv_crond
[edit]
[-] cpaddonsup
[edit]
[-] create_default_featurelist
[edit]
[-] rebuild_dbmap
[edit]
[-] restartsrv_mysql
[edit]
[-] servicedomains
[edit]
[-] dnsqueuecron
[edit]
[-] build_maxemails_config
[edit]
[-] install_plugin
[edit]
[-] expunge_expired_pkgacct_sessions
[edit]
[-] cleanupinterchange
[edit]
[-] manage_extra_marketing
[edit]
[-] find_and_fix_rpm_issues
[edit]
[-] rebuild_available_rpm_addons_cache
[edit]
[-] httpspamdetect
[edit]
[-] restartsrv_apache
[edit]
[-] restartsrv_mydns
[edit]
[-] convert_whmxfer_to_sqlite
[edit]
[-] jetbackup-check
[edit]
[-] dumpcdb
[edit]
[-] clear_cpaddon_ui_caches
[edit]
[-] update_users_vhosts
[edit]
[-] rebuildhttpdconf
[edit]
[-] generate_maildirsize
[edit]
[-] modify_packages
[edit]
[-] checkusers
[edit]
[-] generate_google_drive_oauth_uri
[edit]
[-] fix-listen-on-localhost
[edit]
[-] exportmydnsdb
[edit]
[-] update_apachectl
[edit]
[-] fixndc
[edit]
[-] sendicq
[edit]
[-] restartsrv_nsd
[edit]
[-] restartsrv_apache_php_fpm
[edit]
[-] cleanphpsessions
[edit]
[-] clear_orphaned_virtfs_mounts
[edit]
[-] check_immutable_files
[edit]
[-] rebuild_available_addons_packages_cache
[edit]
[-] restartsrv_queueprocd
[edit]
[-] updateuserdomains
[edit]
[-] clean_dead_mailman_locks
[edit]
[-] magicloader
[edit]
[-] restartsrv_bind
[edit]
[-] update_existing_mail_quotas_for_account
[edit]
[-] ensure_autoenabled_features
[edit]
[-] fix_dns_zone_ttls
[edit]
[-] unblockip
[edit]
[-] dovecot_maintenance
[edit]
[-] reset_mail_quotas_to_sane_values
[edit]
[-] cpfetch
[edit]
[-] restartsrv_ipaliases
[edit]
[-] convert_mdbox_to_maildir
[edit]
[-] cpuser_service_manager
[edit]
[-] exim_tidydb
[edit]
[-] upcp.static
[edit]
[-] restartsrv_rsyslogd
[edit]
[-] locale_info
[edit]
[-] convert_roundcube_mysql2sqlite
[edit]
[-] transfer_in_progress.pod
[edit]
[-] modsec_vendor
[edit]
[-] backups_list_user_files
[edit]
[-] upgrade_subaccount_databases
[edit]
[-] sysup
[edit]
[-] synccpaddonswithsqlhost
[edit]
[-] simpleps
[edit]
[-] update_sa_config
[edit]
[-] restartsrv_cpdavd
[edit]
[-] enablefileprotect
[edit]
[-] restartsrv_spamd
[edit]
[-] distro_changed_hook
[edit]
[-] install_cpanel_analytics
[edit]
[-] restartsrv_inetd
[edit]
[-] run_if_exists
[edit]
[-] convert_to_dovecot_delivery
[edit]
[-] clean_up_temp_wheel_users
[edit]
[-] fix_reseller_acls
[edit]
[-] update_mailman_cache
[edit]
[-] killmysqluserprivs
[edit]
[-] restartsrv_dovecot
[edit]
[-] transfer_account_as_user
[edit]
[-] restartsrv_proftpd
[edit]
[-] generate_google_drive_credentials
[edit]
[-] hook
[edit]
[-] clean_user_php_sessions
[edit]
[-] restartsrv_pureftpd
[edit]
[-] wpt_license
[edit]
[-] logo.dat
[edit]
[-] isdedicatedip
[edit]
[-] dumpinodes
[edit]
[-] ftpupdate
[edit]
[-] rdate
[edit]
[-] backups_create_metadata
[edit]
[-] link_3rdparty_binaries
[edit]
[-] check_mysql
[edit]
[-] checkexim.pl
[edit]
[-] quickdnslookup
[edit]
[-] updatenow.static
[edit]
[-] transfer_in_progress
[edit]
[-] runweblogs
[edit]
[-] unpkgacct
[edit]
[-] cpanelsync_postprocessor
[edit]
[-] xfer_rcube_uid_resolver.pl
[edit]
[-] export_horde_calendars_to_ics
[edit]
[-] update_users_jail
[edit]
[-] fixetchosts
[edit]
[-] hulk-unban-ip
[edit]
[-] custom_backup_destination.pl.sample
[edit]
[-] restartsrv_mailman
[edit]
[-] checklink
[edit]
[-] add_dns
[edit]
[-] fixtlsversions
[edit]
[-] realchpass
[edit]
[-] quotacheck
[edit]
[-] copy_user_mail_as_user
[edit]
[-] cleandns
[edit]
[-] restartsrv_postgres
[edit]
[-] rebuilduserssldb
[edit]
[-] update_neighbor_netblocks
[edit]
[-] disablefileprotect
[edit]
[-] restartsrv_httpd
[edit]
[-] uninstall_plugin
[edit]
[-] buildnsdconf
[edit]
[-] gather_update_log_stats
[edit]
[-] rfc1912_zones.tar
[edit]
[-] xfertool
[edit]
[-] pkgacct
[edit]
[-] edit_cpanelsync_exclude_list
[edit]
[-] dnssec-cluster-keys
[edit]
[-] chkmydns
[edit]
[-] remove_dovecot_index_files
[edit]
[-] ea4_fresh_install
[edit]
[-] setupnameserver
[edit]
[-] manage_mysql_profiles
[edit]
[-] swapip
[edit]
[-] process_site_templates
[edit]
[-] verify_api_spec_files
[edit]
[-] restartsrv_powerdns
[edit]
[-] regenerate_tokens
[edit]
[-] notify_expiring_certificates_on_linked_nodes
[edit]
[-] adduser
[edit]
[-] restartsrv_eximstats
[edit]
[-] migrate_local_ini_to_php_ini
[edit]
[-] safetybits.pl
[edit]
[-] initacls
[edit]
[-] chpass
[edit]
[-] cpanel_initial_install
[edit]
[-] cpuser_port_authority
[edit]
[-] manage_greylisting
[edit]
[-] patchfdsetsize
[edit]
[-] cleanmsglog
[edit]
[-] suspendacct
[edit]
[-] install_tuxcare_els_php
[edit]
[-] fixmailman
[edit]
[-] secureit
[edit]
[-] optimize_eximstats
[edit]
[-] ipcheck
[edit]
[-] disable_prelink
[edit]
[-] cpan_config
[edit]
[-] rebuilddnsconfig
[edit]
[-] ensure_cpuser_file_ip
[edit]
[-] securemysql
[edit]
[-] ensure_conf_dir_crt_key
[edit]
[-] configure_firewall_for_cpanel
[edit]
[-] setupftpserver
[edit]
[-] eximconfgen
[edit]
[-] custom_backup_destination.pl.skeleton
[edit]
[-] convert_maildir_to_mdbox
[edit]
[-] rebuild_bandwidthdb_root_cache
[edit]
[-] elevate-cpanel
[edit]
[-] fix-web-vhost-configuration
[edit]
[-] primary_virtual_host_migration
[edit]
[-] ensure_vhost_includes
[edit]
[-] purge_modsec_log
[edit]
[-] restartsrv_cpgreylistd
[edit]
[-] sync-mysql-users-from-grants
[edit]
[-] update_known_proxy_ips
[edit]
[-] activesync-invite-reply
[edit]
[-] rescan_user_dovecot_fts
[edit]
[-] sa-update_wrapper
[edit]
[-] adddns
[edit]
[-] whmlogin
[edit]
[-] php_fpm_config
[edit]
[-] shrink_modsec_ip_database
[edit]
[-] updatedomainips
[edit]
[-] restartsrv_chkservd
[edit]
[-] auto-adjust-mysql-limits
[edit]
[-] configure_rh_firewall_for_cpanel
[edit]
[-] updateuserdatacache
[edit]
[-] update_db_cache
[edit]
[-] detect_env_capabilities
[edit]
[-] locale_import
[edit]
[-] modify_featurelist
[edit]
[-] fix_innodb_tables
[edit]
[-] postupcp.cloudlinux-linksafe.bak
[edit]
[-] createacct
[edit]
[-] migrate-pdns-conf
[edit]
[-] ftpquotacheck
[edit]
[-] updatesupportauthorizations
[edit]
[-] reloadnsd
[edit]
[-] cleanquotas
[edit]
[-] dumpquotas
[edit]
[-] forcelocaldomain
[edit]
[-] uninstall_dovecot_fts
[edit]
[-] buildpureftproot
[edit]
[-] verify_pidfile
[edit]
[-] xfer_rcube_schema_migrate.pl
[edit]