diff --git a/docs/_includes/themes/zeppelin/_navigation.html b/docs/_includes/themes/zeppelin/_navigation.html
index 1b1fdbf103..c74e7ff428 100644
--- a/docs/_includes/themes/zeppelin/_navigation.html
+++ b/docs/_includes/themes/zeppelin/_navigation.html
@@ -45,6 +45,7 @@
Interpreter Installation
Interpreter Dependency Management
+ Interpreter User Impersonation
Available Interpreters
Alluxio
diff --git a/docs/assets/themes/zeppelin/img/screenshots/user-impersonation.gif b/docs/assets/themes/zeppelin/img/screenshots/user-impersonation.gif
new file mode 100644
index 0000000000..eb39bc8dac
Binary files /dev/null and b/docs/assets/themes/zeppelin/img/screenshots/user-impersonation.gif differ
diff --git a/docs/index.md b/docs/index.md
index 0f257500ee..c3c0a482c8 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -141,6 +141,7 @@ Join to our [Mailing list](https://zeppelin.apache.org/community.html) and repor
* Usage
* [Interpreter Installation](./manual/interpreterinstallation.html): Install not only community managed interpreters but also 3rd party interpreters
* [Interpreter Dependency Management](./manual/dependencymanagement.html) when you include external libraries to interpreter
+ * [Interpreter User Impersonation](./manual/userimpersonation.html) when you want to run interpreter as end user
* Available Interpreters: currently, about 20 interpreters are available in Apache Zeppelin.
####Display System
diff --git a/docs/manual/processenduser.md b/docs/manual/processenduser.md
new file mode 100644
index 0000000000..363c62dbc5
--- /dev/null
+++ b/docs/manual/processenduser.md
@@ -0,0 +1,66 @@
+---
+layout: page
+title: "Run zeppelin interpreter process as web front end user"
+description: "Set up zeppelin interpreter process as web front end user."
+group: manual
+---
+
+{% include JB/setup %}
+
+## Run zeppelin interpreter process as web front end user
+
+ * Enable shiro auth in shiro.ini
+
+```
+[users]
+user1 = password1, role1
+user2 = password2, role2
+```
+
+ * Enable password-less ssh for the user you want to impersonate (say user1).
+
+```
+adduser user1
+#ssh-keygen (optional if you don't already have generated ssh-key.
+ssh user1@localhost mkdir -p .ssh
+cat ~/.ssh/id_rsa.pub | ssh user1@localhost 'cat >> .ssh/authorized_keys'
+```
+
+ * Start zeppelin server.
+
+
+
+
+
+ * Go to interpreter setting page, and enable "User Impersonate" in any of the interpreter (in my example its shell interpreter)
+
+ * Test with a simple paragraph
+
+```
+%sh
+whoami
+```
+