]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
samba-tool user disable: make sure that filter matches only one user
authorBjörn Baumbach <bb@sernet.de>
Wed, 20 Nov 2024 16:24:10 +0000 (17:24 +0100)
committerBjörn Baumbach <bb@sernet.de>
Thu, 23 Jan 2025 18:53:37 +0000 (18:53 +0000)
toggle_userAccountFlags() can only handle one user.

Signed-off-by: Björn Baumbach <bb@sernet.de>
Reviewed-by: Jule Anger <janger@samba.org>
python/samba/netcmd/user/disable.py

index 158961633d99ffe481461b02055063e1c158c37b..37310e08880e775d6a7361dca677246445677627 100644 (file)
@@ -62,6 +62,17 @@ class cmd_user_disable(Command):
 
         samdb = SamDB(url=H, session_info=system_session(),
                       credentials=creds, lp=lp)
+
+        res = samdb.search(base=samdb.domain_dn(),
+                           expression=search_filter,
+                           scope=ldb.SCOPE_SUBTREE)
+        if len(res) < 1:
+            raise CommandError("Unable to find user for '%s'" % (
+                               username or search_filter))
+        if len(res) > 1:
+            raise CommandError("Found more than one user '%s'" % (
+                               username or search_filter))
+
         try:
             samdb.disable_account(search_filter)
         except Exception as msg: