From d12a905c395ffc8471570b491e43638167157df4 Mon Sep 17 00:00:00 2001 From: tbrehm Date: Wed, 7 Sep 2011 13:08:00 +0000 Subject: [PATCH] Fixed: FS#1701 - Backup symlink folder permissions wrong - pre 3.0.3.3 --- install/tpl/server.ini.master | 1 + interface/web/admin/form/server_config.tform.php | 6 ++++++ interface/web/admin/lib/lang/en_server_config.lng | 1 + .../web/admin/templates/server_config_server_edit.htm | 6 ++++++ server/cron_daily.php | 10 +++++++++- 5 files changed, 23 insertions(+), 1 deletion(-) diff --git a/install/tpl/server.ini.master b/install/tpl/server.ini.master index 02d08ff99a..4d2652e3f6 100644 --- a/install/tpl/server.ini.master +++ b/install/tpl/server.ini.master @@ -13,6 +13,7 @@ hostname=server1.domain.tld nameservers=192.168.0.1,192.168.0.2 loglevel=2 backup_dir=/var/backup +backup_dir_ftpread=y [mail] module=postfix_mysql diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php index 38d282b958..47ba89c3b7 100644 --- a/interface/web/admin/form/server_config.tform.php +++ b/interface/web/admin/form/server_config.tform.php @@ -138,6 +138,12 @@ $form["tabs"]['server'] = array( 'width' => '40', 'maxlength' => '255' ), + 'backup_dir_ftpread' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'y', + 'value' => array(0 => 'n', 1 => 'y') + ), ################################## # ENDE Datatable fields ################################## diff --git a/interface/web/admin/lib/lang/en_server_config.lng b/interface/web/admin/lib/lang/en_server_config.lng index 6c1e1a7723..6b9bbfe2c0 100644 --- a/interface/web/admin/lib/lang/en_server_config.lng +++ b/interface/web/admin/lib/lang/en_server_config.lng @@ -86,4 +86,5 @@ $wb["network_config_warning_txt"] = 'The network configuration option is only av $wb["CA_path_txt"] = 'CA Path'; $wb["CA_pass_txt"] = 'CA passphrase'; $wb["fastcgi_config_syntax_txt"] = 'FastCGI config syntax'; +$wb["backup_dir_ftpread_txt"] = 'Backup dir. readable for website FTP users.'; ?> \ No newline at end of file diff --git a/interface/web/admin/templates/server_config_server_edit.htm b/interface/web/admin/templates/server_config_server_edit.htm index a0e08cb4d4..8f42d8cc53 100644 --- a/interface/web/admin/templates/server_config_server_edit.htm +++ b/interface/web/admin/templates/server_config_server_edit.htm @@ -42,6 +42,12 @@ +
+

{tmpl_var name='backup_dir_ftpread_txt'}

+
+ {tmpl_var name='backup_dir_ftpread'} +
+
diff --git a/server/cron_daily.php b/server/cron_daily.php index 6f3774b8c1..e21520c5c0 100644 --- a/server/cron_daily.php +++ b/server/cron_daily.php @@ -435,8 +435,16 @@ $backup_dir = $server_config['backup_dir']; if($backup_dir != '') { + if(isset($server_config['backup_dir_ftpread']) && $server_config['backup_dir_ftpread'] == 'y') { + $backup_dir_permissions = 0755; + } else { + $backup_dir_permissions = 0750; + } + if(!is_dir($backup_dir)) { - mkdir(escapeshellcmd($backup_dir), 0750, true); + mkdir(escapeshellcmd($backup_dir), $backup_dir_permissions, true); + } else { + chmod(escapeshellcmd($backup_dir), $backup_dir_permissions); } $sql = "SELECT * FROM web_domain WHERE type = 'vhost'"; -- GitLab