%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
Server IP : 49.231.201.246 / Your IP : 216.73.216.248 Web Server : Apache/2.4.18 (Ubuntu) System : Linux 246 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 User : root ( 0) PHP Version : 7.0.33-0ubuntu0.16.04.16 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_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/webmin/mysql/ |
Upload File : |
#!/usr/bin/perl # Save SSL options require './mysql-lib.pl'; $access{'perms'} == 1 || &error($text{'cnf_ecannot'}); &error_setup($text{'ssl_err'}); &ReadParse(); # Get the mysqld section foreach my $l (&get_all_mysqld_files()) { &lock_file($l); } $conf = &get_mysql_config(); ($mysqld) = grep { $_->{'name'} eq 'mysqld' } @$conf; $mysqld || &error($text{'cnf_emysqld'}); if ($in{'gen'}) { # Generate new SSL cert and key in new files my $dir = $config{'my_cnf'}; $dir =~ s/\/([^\/]+)$//; my $cert = $dir."/mysql-ssl.cert"; -r $cert && &error(&text('ssl_ecertexists', $cert)); my $key = $dir."/mysql-ssl.key"; -r $key && &error(&text('ssl_ekeyexists', $key)); &foreign_require("webmin"); $opts = { 'commonName_def' => 1, 'size_def' => 1, 'days' => 1825, 'countryName' => 'US' }; $err = &webmin::parse_ssl_key_form($opts, $key, $cert); &error($err) if ($err); &save_directive($conf, $mysqld, "ssl_cert", [ $cert ]); &save_directive($conf, $mysqld, "ssl_key", [ $key ]); my $myuser = &find_value("user", $mysqld->{'members'}); $myuser ||= 'mysql'; &set_ownership_permissions($myuser, undef, 0600, $key, $cert); } else { # Save SSL options my $cert = [ ]; if (!$in{'cert_def'}) { -r $in{'cert'} || &error($text{'ssl_ecert'}); $cert = [ $in{'cert'} ]; } &save_directive($conf, $mysqld, "ssl_cert", $cert); my $key = [ ]; if (!$in{'key_def'}) { -r $in{'key'} || &error($text{'ssl_ekey'}); $key = [ $in{'key'} ]; } &save_directive($conf, $mysqld, "ssl_key", $key); my $ca = [ ]; if (!$in{'ca_def'}) { -r $in{'ca'} || &error($text{'ssl_eca'}); $ca = [ $in{'ca'} ]; } &save_directive($conf, $mysqld, "ssl_ca", $ca); &save_directive($conf, $mysqld, "require_secure_transport", $in{'req'} ? [ "on" ] : [ ]); } # Write out file foreach my $l (&get_all_mysqld_files()) { &flush_file_lines($l, undef, 1); &unlock_file($l); } if (($in{'restart'} || $in{'gen'}) && &is_mysql_running() > 0) { &stop_mysql(); $err = &start_mysql(); &error($err) if ($err); } &webmin_log($in{'gen'} ? "genssl" : "ssl"); &redirect("");