From 95bf612c338dec8235e89ca6a1d9e5e8cad3f997 Mon Sep 17 00:00:00 2001 From: Christian Cleberg Date: Tue, 6 May 2025 21:31:46 -0500 Subject: reorganize db dir (#6) --- databases/mongo/README.org | 104 +++++++++++++++++++++++++++++++++++++++++++++ databases/mongo/admins.py | 16 +++++++ 2 files changed, 120 insertions(+) create mode 100644 databases/mongo/README.org create mode 100644 databases/mongo/admins.py (limited to 'databases/mongo') diff --git a/databases/mongo/README.org b/databases/mongo/README.org new file mode 100644 index 0000000..689d37d --- /dev/null +++ b/databases/mongo/README.org @@ -0,0 +1,104 @@ +#+title: MongoDB Scripts + +* =admins.py= + +Dependency: + +#+begin_src shell +pip install pymongo +#+end_src + +#+begin_src python +python ./admins.py +#+end_src + +Example output: + +#+begin_src json +[ + { + "_id": "admin.admin", + "user": "admin", + "db": "admin", + "roles": [ + { + "role": "userAdminAnyDatabase", + "db": "admin" + }, + { + "role": "readWriteAnyDatabase", + "db": "admin" + }, + { + "role": "dbAdminAnyDatabase", + "db": "admin" + }, + { + "role": "clusterAdmin", + "db": "admin" + } + ], + "credentials": { + "SCRAM-SHA-1": { + "iterationCount": 10000, + "salt": "abc123", + "storedKey": "storedKeyHash", + "serverKey": "serverKeyHash" + }, + "SCRAM-SHA-256": { + "iterationCount": 15000, + "salt": "def456", + "storedKey": "storedKeyHash256", + "serverKey": "serverKeyHash256" + } + } + }, + { + "_id": "test.user1", + "user": "user1", + "db": "test", + "roles": [ + { + "role": "readWrite", + "db": "test" + } + ], + "credentials": { + "SCRAM-SHA-1": { + "iterationCount": 10000, + "salt": "ghi789", + "storedKey": "storedKeyHashUser1", + "serverKey": "serverKeyHashUser1" + } + } + }, + { + "_id": "test.ldapUser", + "user": "ldapUser", + "db": "test", + "roles": [ + { + "role": "read", + "db": "test" + } + ], + "userSource": "ldap" + }, + { + "_id": "admin.x509User", + "user": "x509User", + "db": "$external", + "roles": [ + { + "role": "readWrite", + "db": "admin" + } + ], + "credentials": { + "MONGODB-X509": { + "subject": "CN=x509User,OU=OrgUnit,O=Org,L=City,ST=State,C=Country" + } + } + } +] +#+end_src diff --git a/databases/mongo/admins.py b/databases/mongo/admins.py new file mode 100644 index 0000000..e844cbc --- /dev/null +++ b/databases/mongo/admins.py @@ -0,0 +1,16 @@ +from pymongo import MongoClient + +# Connect to the MongoDB server +client = MongoClient("mongodb://localhost:27017/") + +# Select the 'admin' database +db = client.admin + +# Query the 'system.users' collection +users = db.system.users.find( + {}, {"user": 1, "db": 1, "roles": 1, "credentials": 1, "userSource": 1} +) + +# Print the results in a pretty format +for user in users: + print(user) -- cgit v1.2.3-70-g09d2