diff --git a/file_entity.module b/file_entity.module
index effb1bc..45ee048 100644
--- a/file_entity.module
+++ b/file_entity.module
@@ -113,6 +113,19 @@ function file_entity_menu() {
     'access arguments' => array('administer file types'),
     'file' => 'file_entity.admin.inc',
   );
+  $items['admin/structure/file-types/main'] = array(
+    'title' => 'File types',
+    'type' => MENU_DEFAULT_LOCAL_TASK,
+  );
+  $items['admin/structure/file-types/settings'] = array(
+    'title' => 'Settings',
+    'description' => 'Manage general settings for all types.',
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('file_entity_general_settings_page'),
+    'access arguments' => array('administer file types'),
+    'file' => 'file_entity.admin.inc',
+    'type' => MENU_LOCAL_TASK,
+  );
   $items['admin/structure/file-types/add'] = array(
     'title' => 'Add file type',
     'page callback' => 'drupal_get_form',
diff --git a/file_entity.pages.inc b/file_entity.pages.inc
index 25149a5..4318c76 100644
--- a/file_entity.pages.inc
+++ b/file_entity.pages.inc
@@ -205,6 +205,23 @@ function file_entity_add_upload_step_fields($form, &$form_state, array $options
 }
 
 /**
+ * Menu Callback for general file_entity settings
+ */
+function file_entity_general_settings_page() {
+  $form = array();
+  $form['file_entity_max_filesize'] = array(
+    '#type' => 'textfield',
+    '#title' => t('Maximum upload size'),
+    '#default_value' => variable_get('file_entity_max_filesize', ''),
+    '#description' => t('Enter a value like "512" (bytes), "80 KB" (kilobytes) or "50 MB" (megabytes) in order to restrict the allowed file size. If left empty the file sizes will be limited only by PHP\'s maximum post and file upload sizes (current max limit <strong>%limit</strong>).', array('%limit' => format_size(file_upload_max_size()))),
+    '#size' => 10,
+    '#element_validate' => array('_file_generic_settings_max_filesize'),
+    '#weight' => 5,
+  );
+  return system_settings_form($form);
+}
+
+/**
  * Page callback to show file usage information.
  */
 function file_entity_usage_page($file) {
@@ -928,9 +945,14 @@ function file_entity_get_upload_validators(array $options = array()) {
 
   // Validate file size but do not allow anything higher than file_upload_max_size().
   $max_filesize = file_upload_max_size();
+  $file_entity_max_filesize = variable_get('file_entity_max_filesize', '');
+  
   if (!empty($options['max_filesize']) && $options['max_filesize'] < $max_filesize) {
     $validators['file_validate_size'] = array(parse_size($options['max_filesize']));
   }
+  elseif (!empty($file_entity_max_filesize) && $file_entity_max_filesize < $max_filesize) {
+    $validators['file_validate_size'] = array(parse_size($file_entity_max_filesize));
+  }
   else {
     $validators['file_validate_size'] = array($max_filesize);
   }
