Server IP : 195.201.23.43 / Your IP : 3.128.190.205 Web Server : Apache System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 User : kdecoratie ( 1041) PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/share/webmin/virtual-server/ |
Upload File : |
#!/usr/bin/perl =head1 set-mysql-pass.pl Change the root MySQL password, even if the current password is unknown. This command can be used for forcibly change the MySQL password (typically for the root user), even when the password is unknown. Be careful using it though, as it will shut down the MySQL server for up to 30 seconds during the password change process. =cut package virtual_server; if (!$module_name) { $main::no_acl_check++; $ENV{'WEBMIN_CONFIG'} ||= "/etc/webmin"; $ENV{'WEBMIN_VAR'} ||= "/var/webmin"; if ($0 =~ /^(.*)\/[^\/]+$/) { chdir($pwd = $1); } else { chop($pwd = `pwd`); } $0 = "$pwd/set-mysql-pass.pl"; require './virtual-server-lib.pl'; $< == 0 || die "set-mysql-pass.pl must be run as root"; } @OLDARGV = @ARGV; &set_all_text_print(); # Parse command-line args &require_mysql(); $user = $mysql::config{'login'}; while(@ARGV > 0) { local $a = shift(@ARGV); if ($a eq "--pass") { $pass = shift(@ARGV); } elsif ($a eq "--user") { $user = shift(@ARGV); } elsif ($a eq "--force") { $force = 1; } elsif ($a eq "--multiline") { $multiline = 1; } elsif ($a eq "--help") { &usage(); } else { &usage("Unknown parameter $a"); } } $pass || &usage("Missing --pass flag"); $user || &usage("Missing --user flag, and current MySQL user is unknown"); %lastconfig = %config; if (!$force && $user ne $mysql::config{'login'}) { &usage("Error! There is a special \`virtualmin modify-database-pass\` command for changing non-administrative, virtual server database user password.\n"); } # Force the change my $err = &force_set_mysql_password($user, $pass); if ($err) { exit(1); } &run_post_actions(); &virtualmin_api_log(\@OLDARGV); exit(0); sub usage { print "$_[0]\n\n" if ($_[0]); print "Change the root MySQL password, even if the current password is unknown.\n"; print "\n"; print "virtualmin set-mysql-pass --pass password\n"; print " [--user username]\n"; print " [--force password change for non-administrative user]\n"; exit(1); }Private