diff --git a/src/caosdb/utils/caosdb_admin.py b/src/caosdb/utils/caosdb_admin.py
index d926419d984f1d83e5a111ac9d72c7c8c1c74571..9c18f8962b3561999950059f23453d05edc0584d 100755
--- a/src/caosdb/utils/caosdb_admin.py
+++ b/src/caosdb/utils/caosdb_admin.py
@@ -123,6 +123,7 @@ def do_create_user(args):
     try:
         admin._insert_user(name=args.user_name,
                            email=args.user_email, password=password)
+
         if args.activate_user:
             do_activate_user(args)
     except HTTPClientError as e:
@@ -306,12 +307,21 @@ USAGE
     # users (CRUD)
     subparser = subparsers.add_parser(
         "create_user",
-        help="Create a new user in caosdb's internal user database.")
+        help="Create a new user in caosdb's internal user database. You need "
+        " to activate the user before use.")
     subparser.set_defaults(call=do_create_user)
-    subparser.add_argument("-a", "--ask-password",
-                           help="Prompt for a password.", action="store_true")
+    mg = subparser.add_mutually_exclusive_group()
+    mg.add_argument("-a", "--ask-password",
+                    help="Prompt for a password.", action="store_true")
+    mg.add_argument(
+        "--password",
+        dest="user_password",
+        default=None,
+        help="Alternative way to provide the new user's password. Please "
+        "consider to use the more secure, interactive way (-a option).")
     subparser.add_argument("-c", "--activate-user",
-                           help="Activate the user after creation.", action="store_true")
+                           help="Activate the user after creation.",
+                           action="store_true")
     subparser.add_argument(
         metavar='USERNAME',
         dest="user_name",
@@ -321,12 +331,6 @@ USAGE
         nargs='?',
         dest="user_email",
         help="The email address of the new user.")
-    subparser.add_argument(
-        metavar='PASSWORD',
-        nargs="?",
-        dest="user_password",
-        default=None,
-        help="The new user's password. This is overwritten by the -a option.")
 
     subparser = subparsers.add_parser(
         "activate_user", help="(Re-)activate an inactive (but existing) user.")
@@ -344,7 +348,8 @@ USAGE
 
     subparser = subparsers.add_parser(
         "set_user_password",
-        help="Set a new password for a user. You will be prompted for the password if PASSWORD is not given.")
+        help="Set a new password for a user. "
+        "By default, you will be prompted for the password.")
     subparser.set_defaults(call=do_set_user_password)
     subparser.add_argument(
         metavar='USERNAME',
@@ -355,7 +360,8 @@ USAGE
         nargs="?",
         dest="user_password",
         default=None,
-        help="The user's new password.")
+        help="Alternative way to provide the user's new password. "
+        "The more secure (and default way) is to provide it interactively.")
 
     subparser = subparsers.add_parser(
         "set_user_entity",