diff --git a/circle/dashboard/models.py b/circle/dashboard/models.py
index fe2ac9f..fc07625 100644
--- a/circle/dashboard/models.py
+++ b/circle/dashboard/models.py
@@ -29,7 +29,7 @@ from django.db.models import (
     Model, ForeignKey, OneToOneField, CharField, IntegerField, TextField,
     DateTimeField, permalink, BooleanField
 )
-from django.db.models.signals import post_save, pre_delete
+from django.db.models.signals import post_save, pre_delete, post_delete
 from django.templatetags.static import static
 from django.utils.translation import ugettext_lazy as _
 from django_sshkey.models import UserKey
@@ -286,6 +286,29 @@ else:
     logger.debug("Do not register save_org_id to djangosaml2 pre_user_save")
 
 
+def update_store_profile(sender, **kwargs):
+    profile = kwargs.get('instance')
+    s = Store(profile.user)
+    keys = [i.key for i in profile.user.userkey_set.all()]
+    s.create_user(profile.smb_password, keys,
+                  profile.disk_quota)
+
+post_save.connect(update_store_profile, sender=Profile)
+
+
+def update_store_keys(sender, **kwargs):
+    userkey = kwargs.get('instance')
+    profile = userkey.user.profile
+    keys = [i.key for i in profile.user.userkey_set.all()]
+    s = Store(userkey.user)
+    s.create_user(profile.smb_password, keys,
+                  profile.disk_quota)
+
+
+post_save.connect(update_store_keys, sender=UserKey)
+post_delete.connect(update_store_keys, sender=UserKey)
+
+
 def add_ssh_keys(sender, **kwargs):
     from vm.models import Instance