Add some prompts in admin tool.
diff --git a/has-project/has-client/src/main/java/org/apache/kerby/has/client/HasAuthAdminClient.java b/has-project/has-client/src/main/java/org/apache/kerby/has/client/HasAuthAdminClient.java
index 5ac8622..04da650 100644
--- a/has-project/has-client/src/main/java/org/apache/kerby/has/client/HasAuthAdminClient.java
+++ b/has-project/has-client/src/main/java/org/apache/kerby/has/client/HasAuthAdminClient.java
@@ -481,8 +481,7 @@
             httpConn.connect();
 
             if (httpConn.getResponseCode() != 200) {
-                System.err.println("Error : connection denied.");
-                return null;
+                throw new KrbException(HasClientUtil.getResponse(httpConn));
             }
             FileOutputStream fos = new FileOutputStream(new File(keytabName));
             InputStream in = httpConn.getInputStream();
diff --git a/has-project/has-client/src/main/java/org/apache/kerby/has/client/HasClient.java b/has-project/has-client/src/main/java/org/apache/kerby/has/client/HasClient.java
index 5338fb3..0fbc898 100755
--- a/has-project/has-client/src/main/java/org/apache/kerby/has/client/HasClient.java
+++ b/has-project/has-client/src/main/java/org/apache/kerby/has/client/HasClient.java
@@ -205,14 +205,12 @@
 
     private HasClientPlugin getClientTokenPlugin(HasConfig config) throws HasException {
         String pluginName = config.getPluginName();
-        LOG.debug("The plugin name getting from config is: " + pluginName);
         HasClientPlugin clientPlugin;
         if (pluginName != null) {
             clientPlugin = HasClientPluginRegistry.createPlugin(pluginName);
         } else {
             throw new HasException("Please set the plugin name in has client conf");
         }
-        LOG.debug("The plugin class is: " + clientPlugin);
 
         return clientPlugin;
     }
@@ -355,7 +353,7 @@
         try {
             boolean success = json.getBoolean("success");
             if (!success) {
-                throw new HasException("Failed: " + json.getString("krbMessage"));
+                throw new HasException(json.getString("krbMessage"));
             }
         } catch (JSONException e) {
             LOG.debug("Failed to get message." + e);
@@ -402,7 +400,7 @@
             return processResponse((KdcRep) kdcRep, passPhrase);
         } else if (messageType == KrbMessageType.KRB_ERROR) {
             KrbError error = (KrbError) kdcRep;
-            LOG.error("KDC server response with message: "
+            LOG.error("HAS server response with message: "
                 + error.getErrorCode().getMessage());
 
             throw new HasException(error.getEtext());
diff --git a/has-project/has-client/src/main/java/org/apache/kerby/has/client/HasLoginModule.java b/has-project/has-client/src/main/java/org/apache/kerby/has/client/HasLoginModule.java
index 5b037ef..fc97665 100644
--- a/has-project/has-client/src/main/java/org/apache/kerby/has/client/HasLoginModule.java
+++ b/has-project/has-client/src/main/java/org/apache/kerby/has/client/HasLoginModule.java
@@ -224,7 +224,7 @@
                 }
 
                 HasClient hasClient = new HasClient(hadoopSecurityHas);
-                TgtTicket tgtTicket = null;
+                TgtTicket tgtTicket;
                 try {
                     tgtTicket = hasClient.requestTgt();
                 } catch (HasException e) {
diff --git a/has-project/has-plugins/src/main/java/org/apache/kerby/has/plugins/client/mysql/MySQLHasClientPlugin.java b/has-project/has-plugins/src/main/java/org/apache/kerby/has/plugins/client/mysql/MySQLHasClientPlugin.java
index 5ff56fe..3bbe6f8 100644
--- a/has-project/has-plugins/src/main/java/org/apache/kerby/has/plugins/client/mysql/MySQLHasClientPlugin.java
+++ b/has-project/has-plugins/src/main/java/org/apache/kerby/has/plugins/client/mysql/MySQLHasClientPlugin.java
@@ -18,6 +18,7 @@
 package org.apache.kerby.has.plugins.client.mysql;
 
 import org.apache.kerby.has.client.AbstractHasClientPlugin;
+import org.apache.kerby.has.client.HasLoginException;
 import org.apache.kerby.kerberos.kerb.type.base.AuthToken;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -36,11 +37,17 @@
     }
 
     @Override
-    protected void doLogin(AuthToken authToken) {
+    protected void doLogin(AuthToken authToken) throws HasLoginException {
 
         //Get the user info from env
         String userName = System.getenv("userName");
+        if (userName == null || userName.isEmpty()) {
+            throw new HasLoginException("Please set the userName.");
+        }
         String password = System.getenv("password");
+        if (password == null || password.isEmpty()) {
+            throw new HasLoginException("Please set the password.");
+        }
         LOG.debug("Get the user info successfully.");
 
         authToken.setIssuer("has");
diff --git a/has-project/has-plugins/src/main/java/org/apache/kerby/has/plugins/server/mysql/MySQLHasServerPlugin.java b/has-project/has-plugins/src/main/java/org/apache/kerby/has/plugins/server/mysql/MySQLHasServerPlugin.java
index bd9bd85..234763c 100644
--- a/has-project/has-plugins/src/main/java/org/apache/kerby/has/plugins/server/mysql/MySQLHasServerPlugin.java
+++ b/has-project/has-plugins/src/main/java/org/apache/kerby/has/plugins/server/mysql/MySQLHasServerPlugin.java
@@ -61,9 +61,18 @@
         String secret = (String) userToken.getAttributes().get("secret");
 
         String mysqlUrl = System.getenv("mysqlUrl");
+        if (mysqlUrl == null || mysqlUrl.isEmpty()) {
+            throw new HasAuthenException("Please set the mysqlUrl.");
+        }
         mysqlUrl = mysqlUrl.replace("jdbc:mysql:", "jdbc:mysql:thin:");
         String mysqlUser = System.getenv("mysqlUser");
+        if (mysqlUser == null || mysqlUser.isEmpty()) {
+            throw new HasAuthenException("Please set the mysqlUser.");
+        }
         String mysqlPasswd = System.getenv("mysqlPasswd");
+        if (mysqlPasswd == null || mysqlPasswd.isEmpty()) {
+            throw new HasAuthenException("Please set the mysqlPasswd.");
+        }
         Connection connection = startConnection(mysqlUrl, mysqlUser, mysqlPasswd);
 
         ResultSet res = null;
@@ -77,8 +86,20 @@
             if (res.next() && res.getInt(1) > 0) {
                 LOG.debug("UserName: {}", user);
             } else {
-                LOG.error("Authentication failed.");
-                throw new HasAuthenException("Authentication failed.");
+                String sql = "SELECT COUNT(*) FROM `has_user` WHERE user_name = ?";
+                preStm = connection.prepareStatement(sql);
+                preStm.setString(1, user);
+                res = preStm.executeQuery();
+                if (res.next() && res.getInt(1) > 0) {
+                    throw new HasAuthenException("Authentication failed. "
+                            + "Incorrect password.");
+                } else if (!res.next()) {
+                    throw new HasAuthenException("Authentication failed. "
+                            + "Incorrect userName.");
+                } else {
+                    throw new HasAuthenException("Authentication failed. "
+                            + "Please check your userName and password.");
+                }
             }
         } catch (SQLException e) {
             LOG.error("Failed.");
@@ -114,7 +135,8 @@
         } catch (ClassNotFoundException e) {
             throw new HasAuthenException("JDBC Driver Class not found. ", e);
         } catch (SQLException e) {
-            throw new HasAuthenException("Failed to connecting to MySQL. ", e);
+            throw new HasAuthenException("Failed to connecting to MySQL."
+                    + "Please check MySQL URL, username and password. ", e);
         }
 
         return connection;
diff --git a/has-project/has-server/src/main/java/org/apache/kerby/has/server/web/rest/AsRequestApi.java b/has-project/has-server/src/main/java/org/apache/kerby/has/server/web/rest/AsRequestApi.java
index 45e6ea6..c40ee38 100644
--- a/has-project/has-server/src/main/java/org/apache/kerby/has/server/web/rest/AsRequestApi.java
+++ b/has-project/has-server/src/main/java/org/apache/kerby/has/server/web/rest/AsRequestApi.java
@@ -103,14 +103,14 @@
                 try {
                     tokenPlugin = HasServerPluginRegistry.createPlugin(type);
                 } catch (HasException e) {
-                    errMessage = "Fail to get the plugin: " + type + ". " + e.getMessage();
+                    errMessage = "Failed to get the plugin: " + type + ". " + e.getMessage();
                     WebServer.LOG.error(errMessage);
                 }
                 AuthToken verifiedAuthToken;
                 try {
                     verifiedAuthToken = tokenPlugin.authenticate(authToken);
                 } catch (HasAuthenException e) {
-                    errMessage = "Failed to verify auth token: " + e.getMessage();
+                    errMessage = "Failed to verify auth token. " + e.getMessage();
                     WebServer.LOG.error(errMessage);
                     verifiedAuthToken = null;
                 }
diff --git a/has-project/has-server/src/main/java/org/apache/kerby/has/server/web/rest/HadminApi.java b/has-project/has-server/src/main/java/org/apache/kerby/has/server/web/rest/HadminApi.java
index d91f49d..a25be2f 100644
--- a/has-project/has-server/src/main/java/org/apache/kerby/has/server/web/rest/HadminApi.java
+++ b/has-project/has-server/src/main/java/org/apache/kerby/has/server/web/rest/HadminApi.java
@@ -155,11 +155,17 @@
                 if (role.getValue() != null) {
                     try {
                         File file = hasAdmin.getKeytabByHostAndRole(host.getValue(), role.getValue());
+                        if (file.length() == 0) {
+                            msg = "Failed to get the keytab from backend, cannot find matching keytab, "
+                                    + "please check hostname and role.";
+                            WebServer.LOG.error(msg);
+                            return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
+                        }
                         WebServer.LOG.info("Create keytab file for the " + role.getValue()
-                            + " for " + host.getValue());
+                                + " for " + host.getValue());
                         return Response.ok(file).header("Content-Disposition",
-                            "attachment; filename=" + role.getValue() + "-"
-                                + host.getValue() + ".keytab").build();
+                                "attachment; filename=" + role.getValue() + "-"
+                                        + host.getValue() + ".keytab").build();
                     } catch (HasException e) {
                         msg = "Failed to export keytab File because : " + e.getMessage();
                         WebServer.LOG.error(msg);
@@ -170,9 +176,12 @@
                     List<File> keytabs = new ArrayList<>();
                     for (HostRoleType r : HostRoleType.values()) {
                         try {
-                            keytabs.add(hasAdmin.getKeytabByHostAndRole(host.getValue(), r.getName()));
-                            WebServer.LOG.info("Create keytab file for the " + r.getName()
-                                + " for " + host.getValue());
+                            File keytab = hasAdmin.getKeytabByHostAndRole(host.getValue(), r.getName());
+                            if (keytab.length() > 0) {
+                                keytabs.add(hasAdmin.getKeytabByHostAndRole(host.getValue(), r.getName()));
+                                WebServer.LOG.info("Create keytab file for the " + r.getName()
+                                        + " for " + host.getValue());
+                            }
                         } catch (HasException e) {
                             msg = "Failed to export keytab File because : " + e.getMessage();
                             WebServer.LOG.error(msg);
@@ -180,9 +189,10 @@
                         }
                     }
                     if (keytabs.size() < 1) {
-                        msg = "Failed to get the keytab from backend.";
+                        msg = "Failed to get the keytab from backend, cannot find matching keytab, "
+                                + "please check hostname.";
                         WebServer.LOG.error(msg);
-                        return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
+                        return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
                     }
                     File path = new File(hasServer.getWorkDir(), "tmp/zip/"
                         + System.currentTimeMillis());
@@ -201,7 +211,7 @@
                         return Response.ok(keytabZip).header("Content-Disposition",
                             "attachment; filename=keytab.zip").build();
                     } catch (Exception e) {
-                        msg = "Failed to create the keytab.zip,because : " + e.getMessage();
+                        msg = "Failed to create the keytab.zip, because : " + e.getMessage();
                         WebServer.LOG.error(msg);
                         return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
                     }
diff --git a/has-project/has-server/src/main/java/org/apache/kerby/has/server/web/rest/KadminApi.java b/has-project/has-server/src/main/java/org/apache/kerby/has/server/web/rest/KadminApi.java
index dd9ab8b..6a967ed 100644
--- a/has-project/has-server/src/main/java/org/apache/kerby/has/server/web/rest/KadminApi.java
+++ b/has-project/has-server/src/main/java/org/apache/kerby/has/server/web/rest/KadminApi.java
@@ -266,10 +266,10 @@
     }
 
     /**
-     * Add principal by name and password.
+     * change password.
      *
      * @param principal principal name.
-     * @param password  principal password
+     * @param newPassword  principal new password
      * @return Response
      */
     @POST
diff --git a/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/local/cmd/DisableConfigureCommand.java b/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/local/cmd/DisableConfigureCommand.java
index a499076..7d26fce 100644
--- a/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/local/cmd/DisableConfigureCommand.java
+++ b/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/local/cmd/DisableConfigureCommand.java
@@ -24,9 +24,9 @@
 
 public class DisableConfigureCommand extends HadminCommand {
 
-    public static final String USAGE = "Usage: enable_configure\n"
+    public static final String USAGE = "Usage: disable_configure\n"
             + "\tExample:\n"
-            + "\t\tenable\n";
+            + "\t\tdisable\n";
 
     public DisableConfigureCommand(LocalHadmin hadmin) {
         super(hadmin);
@@ -35,6 +35,6 @@
     @Override
     public void execute(String[] items) throws HasException {
         getHadmin().setEnableOfConf("false");
-        System.out.println("Set conf disable.");
+        System.out.println("Disable configure HAS.");
     }
 }
diff --git a/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/local/cmd/EnableConfigureCommand.java b/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/local/cmd/EnableConfigureCommand.java
index 404e3f5..21392ad 100644
--- a/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/local/cmd/EnableConfigureCommand.java
+++ b/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/local/cmd/EnableConfigureCommand.java
@@ -35,6 +35,6 @@
     @Override
     public void execute(String[] items) throws HasException {
         getHadmin().setEnableOfConf("true");
-        System.out.println("Set conf enable.");
+        System.out.println("Enable configure HAS.");
     }
 }
diff --git a/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/local/cmd/ExportKeytabsCommand.java b/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/local/cmd/ExportKeytabsCommand.java
index 1892814..d9ed5e2 100644
--- a/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/local/cmd/ExportKeytabsCommand.java
+++ b/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/local/cmd/ExportKeytabsCommand.java
@@ -23,6 +23,8 @@
 import org.apache.kerby.has.server.admin.LocalHadmin;
 import org.apache.kerby.has.server.web.HostRoleType;
 
+import java.io.File;
+
 public class ExportKeytabsCommand extends HadminCommand {
     private static final String USAGE = "\nUsage: export_keytabs <host> [role]\n"
             + "\tExample:\n"
@@ -39,16 +41,30 @@
             return;
         }
         String host = items[1];
+        boolean find = false;
         if (items.length >= 3) {
-            exportKeytab(host, items[2]);
-            return;
+            if (exportKeytab(host, items[2])) {
+                find = true;
+            }
+        } else {
+            for (HostRoleType r : HostRoleType.values()) {
+                if (exportKeytab(host, r.getName())) {
+                    find = true;
+                }
+            }
         }
-        for (HostRoleType r : HostRoleType.values()) {
-            exportKeytab(host, r.getName());
+        if (!find) {
+            System.out.println("Failed to get the keytab from backend, cannot find matching keytab.");
         }
     }
 
-    public void exportKeytab(String host, String role) throws HasException {
-        getHadmin().getKeytabByHostAndRole(host, role);
+    public boolean exportKeytab(String host, String role) throws HasException {
+        File keytab = getHadmin().getKeytabByHostAndRole(host, role);
+        if (keytab.length() > 0) {
+            System.out.println("Keytabs exported in " + keytab.getPath());
+            return true;
+        } else {
+            return false;
+        }
     }
 }
diff --git a/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/AdminRemoteTool.java b/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/AdminRemoteTool.java
index 2022f8c..af14dbe 100644
--- a/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/AdminRemoteTool.java
+++ b/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/AdminRemoteTool.java
@@ -29,8 +29,8 @@
 import org.apache.kerby.kerberos.tool.admin.remote.cmd.AdminRemoteCmd;
 import org.apache.kerby.kerberos.tool.admin.remote.cmd.ChangePasswordRemoteCmd;
 import org.apache.kerby.kerberos.tool.admin.remote.cmd.DeletePrincipalRemoteCmd;
-import org.apache.kerby.kerberos.tool.admin.remote.cmd.DisableConfRemoteCmd;
-import org.apache.kerby.kerberos.tool.admin.remote.cmd.EnableConfRemoteCmd;
+import org.apache.kerby.kerberos.tool.admin.remote.cmd.DisableConfigureRemoteCmd;
+import org.apache.kerby.kerberos.tool.admin.remote.cmd.EnableConfigureRemoteCmd;
 import org.apache.kerby.kerberos.tool.admin.remote.cmd.ExportKeytabsRemoteCmd;
 import org.apache.kerby.kerberos.tool.admin.remote.cmd.GetHostRolesRemoteCmd;
 import org.apache.kerby.kerberos.tool.admin.remote.cmd.ListPrincipalsRemoteCmd;
@@ -174,10 +174,10 @@
             executor = new ExportKeytabsRemoteCmd(hasAuthAdminClient);
         } else if (cmd.equals("enable_configure")
             || cmd.equals("enable")) {
-            executor = new EnableConfRemoteCmd(hasAuthAdminClient);
+            executor = new EnableConfigureRemoteCmd(hasAuthAdminClient);
         } else if (cmd.equals("disable_configure")
             || cmd.equals("disable")) {
-            executor = new DisableConfRemoteCmd(hasAuthAdminClient);
+            executor = new DisableConfigureRemoteCmd(hasAuthAdminClient);
         } else {
             System.out.println(LEGAL_COMMANDS);
             return;
diff --git a/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/cmd/AddPrincipalRemoteCmd.java b/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/cmd/AddPrincipalRemoteCmd.java
index dce0ed7..871a5c5 100644
--- a/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/cmd/AddPrincipalRemoteCmd.java
+++ b/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/cmd/AddPrincipalRemoteCmd.java
@@ -54,9 +54,11 @@
             client.addPrincipal(clientPrincipal);
         } else if (items[1].startsWith("-randkey")) {
             client.addPrincipal(clientPrincipal);
+            System.out.println("Principal \"" + clientPrincipal + "\" created.");
         } else if (items[1].startsWith("-pw")) {
             String password = items[2];
             client.addPrincipal(clientPrincipal, password);
+            System.out.println("Principal \"" + clientPrincipal + "\" created.");
         } else {
             System.err.println("add_principal cmd format error.");
             System.err.println(USAGE);
diff --git a/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/cmd/ChangePasswordRemoteCmd.java b/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/cmd/ChangePasswordRemoteCmd.java
index 8b9311c..ebf7dea 100644
--- a/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/cmd/ChangePasswordRemoteCmd.java
+++ b/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/cmd/ChangePasswordRemoteCmd.java
@@ -46,6 +46,7 @@
         if (items[1].startsWith("-pw")) {
             String newPassword = items[2];
             client.changePassword(clientPrincipal, newPassword);
+            System.out.println("Password updated successfully.");
         } else {
             System.err.println("change_password command error.");
             System.err.println(USAGE);
diff --git a/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/cmd/DeletePrincipalRemoteCmd.java b/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/cmd/DeletePrincipalRemoteCmd.java
index dbd3cd2..0c4dc5f 100644
--- a/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/cmd/DeletePrincipalRemoteCmd.java
+++ b/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/cmd/DeletePrincipalRemoteCmd.java
@@ -62,6 +62,7 @@
         }
         if (reply.equals("yes") || reply.equals("YES") || reply.equals("y") || reply.equals("Y")) {
             client.deletePrincipal(principal);
+            System.out.println("Principal \"" + principal + "\" deleted.");
         } else if (reply.equals("no") || reply.equals("NO") || reply.equals("n") || reply.equals("N")) {
             System.out.println("Principal \"" + principal + "\"  not deleted.");
         } else {
diff --git a/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/cmd/DisableConfRemoteCmd.java b/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/cmd/DisableConfigureRemoteCmd.java
similarity index 87%
rename from kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/cmd/DisableConfRemoteCmd.java
rename to kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/cmd/DisableConfigureRemoteCmd.java
index 07b5055..4020192 100644
--- a/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/cmd/DisableConfRemoteCmd.java
+++ b/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/cmd/DisableConfigureRemoteCmd.java
@@ -25,13 +25,13 @@
 /**
  * Remote add principal cmd
  */
-public class DisableConfRemoteCmd extends AdminRemoteCmd {
+public class DisableConfigureRemoteCmd extends AdminRemoteCmd {
 
     public static final String USAGE = "Usage: disable_configure\n"
             + "\tExample:\n"
             + "\t\tdisable\n";
 
-    public DisableConfRemoteCmd(HasAuthAdminClient authHadmin) {
+    public DisableConfigureRemoteCmd(HasAuthAdminClient authHadmin) {
         super(authHadmin);
     }
 
@@ -39,5 +39,6 @@
     public void execute(String[] items) throws KrbException {
         HasAuthAdminClient client = getAuthAdminClient();
         client.setEnableOfConf("false");
+        System.out.println("Disable configure HAS.");
     }
 }
diff --git a/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/cmd/EnableConfRemoteCmd.java b/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/cmd/EnableConfigureRemoteCmd.java
similarity index 87%
rename from kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/cmd/EnableConfRemoteCmd.java
rename to kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/cmd/EnableConfigureRemoteCmd.java
index 4bf0080..8577d82 100644
--- a/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/cmd/EnableConfRemoteCmd.java
+++ b/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/cmd/EnableConfigureRemoteCmd.java
@@ -25,13 +25,13 @@
 /**
  * Remote add principal cmd
  */
-public class EnableConfRemoteCmd extends AdminRemoteCmd {
+public class EnableConfigureRemoteCmd extends AdminRemoteCmd {
 
     public static final String USAGE = "Usage: enable_configure\n"
             + "\tExample:\n"
             + "\t\tenable\n";
 
-    public EnableConfRemoteCmd(HasAuthAdminClient authHadmin) {
+    public EnableConfigureRemoteCmd(HasAuthAdminClient authHadmin) {
         super(authHadmin);
     }
 
@@ -40,5 +40,6 @@
 
         HasAuthAdminClient client = getAuthAdminClient();
         client.setEnableOfConf("true");
+        System.out.println("Disable configure HAS.");
     }
 }
diff --git a/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/cmd/ExportKeytabsRemoteCmd.java b/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/cmd/ExportKeytabsRemoteCmd.java
index c16c034..4903d32 100644
--- a/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/cmd/ExportKeytabsRemoteCmd.java
+++ b/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/cmd/ExportKeytabsRemoteCmd.java
@@ -34,7 +34,6 @@
     @Override
     public void execute(String[] items) throws KrbException {
         //TODO add save path option
-        //String param = items[0];
         if (items.length < 2) {
             System.err.println(USAGE);
             return;
diff --git a/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/cmd/RenamePrincipalRemoteCmd.java b/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/cmd/RenamePrincipalRemoteCmd.java
index 5684df2..af50413 100644
--- a/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/cmd/RenamePrincipalRemoteCmd.java
+++ b/kerby-tool/has-tool/src/main/java/org/apache/kerby/kerberos/tool/admin/remote/cmd/RenamePrincipalRemoteCmd.java
@@ -64,6 +64,8 @@
         }
         if (reply.equals("yes") || reply.equals("YES") || reply.equals("y") || reply.equals("Y")) {
             client.renamePrincipal(oldPrincipalName, newPrincipalName);
+            System.out.println("Principal \"" + oldPrincipalName + "\" renamed to \""
+                    + newPrincipalName + "\".");
         } else if (reply.equals("no") || reply.equals("NO") || reply.equals("n") || reply.equals("N")) {
             System.out.println("Principal \"" + oldPrincipalName + "\"  not renamed.");
         } else {