diff --git a/core/modules/user/migration_templates/d7_user_settings.yml b/core/modules/user/migration_templates/d7_user_settings.yml
new file mode 100644
index 0000000..b2f0335
--- /dev/null
+++ b/core/modules/user/migration_templates/d7_user_settings.yml
@@ -0,0 +1,32 @@
+id: d7_user_settings
+label: Drupal 7 user configuration
+migration_tags:
+  - Drupal 7
+source:
+  plugin: variable
+  variables:
+    - user_mail_status_blocked_notify
+    - user_mail_status_activated_notify
+    - user_email_verification
+    - user_register
+    - anonymous
+process:
+  'notify/status_blocked': user_mail_status_blocked_notify
+  'notify/status_activated': user_mail_status_activated_notify
+  verify_mail: user_email_verification
+  register:
+    plugin: static_map
+    source: user_register
+    default_value: visitors_admin_approval
+    map:
+      2: visitors_admin_approval
+      1: user_register
+      0: admin_only
+  anonymous: anonymous
+destination:
+  plugin: config
+  config_name: user.settings
+dependencies:
+  module:
+    - migrate_drupal
+    - user
diff --git a/core/modules/user/src/Tests/Migrate/d7/MigrateUserSettingsTest.php b/core/modules/user/src/Tests/Migrate/d7/MigrateUserSettingsTest.php
new file mode 100644
index 0000000..6a781d5
--- /dev/null
+++ b/core/modules/user/src/Tests/Migrate/d7/MigrateUserSettingsTest.php
@@ -0,0 +1,44 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\migrate_drupal\Tests\d7\MigrateUserSettingsTest.
+ */
+
+namespace Drupal\user\Tests\Migrate\d7;
+
+use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate_drupal\Entity\Migration;
+use Drupal\migrate_drupal\Tests\d7\MigrateDrupal7TestBase;
+/**
+ * Tests migration of User's variables to configuration.
+ *
+ * @group user
+ */
+class MigrateUserSettingsTest extends MigrateDrupal7TestBase {
+
+  public static $modules = ['user'];
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+    $this->installConfig(static::$modules);
+    $this->loadDumps(['Variable.php']);
+    $this->executeMigration('d7_user_settings');
+  }
+
+  /**
+   * Tests migration of User settings to configuration.
+   */
+  public function testMigration() {
+    $config = \Drupal::config('user.settings')->get();
+    $this->assertFalse($config['notify']['status_blocked']);
+    $this->assertTrue($config['notify']['status_activated']);
+    $this->assertTrue($config['verify_mail']);
+    $this->assertIdentical('visitors_admin_approval', $config['register']);
+    $this->assertIdentical('Anonymous', $config['anonymous']);
+  }
+
+}
