diff --git a/src/caosdb/connection/streaminghttp.py b/src/caosdb/connection/streaminghttp.py
index 85aa710a1ab3964735671513b61ebb6bc82745c8..01774301b9bdb55bdbf6b56695042aaf354dba97 100644
--- a/src/caosdb/connection/streaminghttp.py
+++ b/src/caosdb/connection/streaminghttp.py
@@ -72,13 +72,10 @@ class StreamingHTTPSConnection(client.HTTPSConnection, object):
 
     def __init__(self, socket_proxy=None, **kwargs):
         if socket_proxy is not None:
-            print("socket_proxy:" +  socket_proxy)
             host, port = socket_proxy.split(":")
             socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, host,
                                   int(port))
             socket.socket = socks.socksocket
-        else:
-            print("no socket_proxy")
         super(StreamingHTTPSConnection, self).__init__(**kwargs)
 
     def _send_output(self, body, **kwargs):
diff --git a/src/caosdb/utils/caosdb_admin.py b/src/caosdb/utils/caosdb_admin.py
index 24335d2b1d705f87181c5dc7f055abf2854f2b27..97a791578528c5cd5a2de5dfb83289e1062f2343 100755
--- a/src/caosdb/utils/caosdb_admin.py
+++ b/src/caosdb/utils/caosdb_admin.py
@@ -35,9 +35,9 @@ from argparse import ArgumentParser
 from argparse import RawDescriptionHelpFormatter
 
 __all__ = []
-__version__ = 0.2
+__version__ = 0.3
 __date__ = '2016-09-19'
-__updated__ = '2017-08-30'
+__updated__ = '2018-12-11'
 
 
 def do_update_role(args):
@@ -98,7 +98,7 @@ def do_insert(args):
         reconnect=True,
         query_dict=fdict,
         body=xml)
-    db.Container._response_to_entities(ret)
+    print(db.Container._response_to_entities(ret))
 
 
 def _promt_for_pw():
@@ -216,6 +216,22 @@ def do_deny_role_permissions(args):
         perms.add(d)
     admin._set_permissions(role=args.role_name, permission_rules=perms)
 
+def do_retrieve_entity_acl(args):
+    entities = db.execute_query(q=args.query, flags={"ACL": None})
+    for entity in entities:
+        print(entity.id)
+        print(entity.acl)
+
+def do_action_entity_permissions(args):
+    entities = db.execute_query(q=args.query, flags={"ACL": None})
+    for entity in entities:
+        for p in args.permissions:
+            getattr(entity, args.action)(role=args.role, priority=args.priority,
+                permission=p)
+    entities.update(flags={"ACL": None})
+    for entity in entities:
+        print(entity.id)
+        print(entity.acl)
 
 def main(argv=None):
     """Command line options."""
@@ -233,14 +249,8 @@ def main(argv=None):
     program_shortdesc = __import__('__main__').__doc__
     program_license = '''%s
 
-  Created by timm fitschen on %s.
-  Copyright 2016 BMPG. All rights reserved.
-
-  Distributed on an "AS IS" basis without warranties
-  or conditions of any kind, either express or implied.
-
 USAGE
-''' % (program_shortdesc, str(__date__))
+''' % (program_shortdesc)
 
     # Setup argument parser
     parser = ArgumentParser(description=program_license,
@@ -532,6 +542,36 @@ USAGE
         metavar="ROLENAME",
         help="The name of the existing role.")
 
+    # entity acl
+    retrieve_entity_acl_parser = subparsers.add_parser(
+        "retrieve_entity_acl", help="Retrieve an entity ACL.")
+    retrieve_entity_acl_parser.set_defaults(call=do_retrieve_entity_acl)
+    retrieve_entity_acl_parser.add_argument(dest="query", metavar="QUERY",
+                                            help="A FIND query.")
+
+    for action in ["grant", "deny", "revoke_denial", "revoke_grant"]:
+        action_entity_permissions_parser = subparsers.add_parser(
+            "{}_entity_permissions".format(action),
+            help="{} entity permissions to a role.".format(action))
+        action_entity_permissions_parser.set_defaults(
+            call=do_action_entity_permissions, action=action)
+        action_entity_permissions_parser.add_argument(dest="query", metavar="QUERY",
+                                                help="A FIND query.")
+        action_entity_permissions_parser.add_argument(dest="role", metavar="ROLE",
+                                              help="The name of an exising role.")
+        action_entity_permissions_parser.add_argument(
+            dest="permissions",
+            metavar="PERMISSION",
+            help="A list of permissions",
+            nargs='+')
+        action_entity_permissions_parser.add_argument(
+            '--priority',
+            dest="priority",
+            action="store_true",
+            default=False,
+            help="This flag enables priority permission rules.")
+
+
     # Process arguments
     args = parser.parse_args()